Как выбрать / получить опцию выпадающего в Selenium 2
206934 просмотра
8 ответа
Я преобразовываю свой код селена 1 в селен 2 и не могу найти простой способ выбрать метку в раскрывающемся меню или получить выбранное значение в раскрывающемся списке. Вы знаете, как это сделать в Selenium 2?
Вот два утверждения, которые работают в Selenium 1, но не в 2:
browser.select("//path_to_drop_down", "Value1");
browser.getSelectedValue("//path_to_drop_down");
Автор: user786045
Источник
Размещён: 12.11.2019 09:44
Ответы (8)
184 плюса
Взгляните на раздел о заполнении форм с помощью веб-драйвера в документации по селену и javadoc для класса Select .
Чтобы выбрать параметр на основе метки:
Select select = new Select(driver.findElement(By.xpath("//path_to_drop_down")));
select.deselectAll();
select.selectByVisibleText("Value1");
Чтобы получить первое выбранное значение:
WebElement option = select.getFirstSelectedOption()
Автор: janderssn
Размещён: 22.06.2011 05:55
5 плюса
driver.findElement(By.id("id_dropdown_menu")).click();
driver.findElement(By.xpath("xpath_from_seleniumIDE")).click();
удачи
Автор: thrasher Размещён: 14.02.2014 03:354 плюса
в ruby для постоянного использования добавьте следующее:
module Selenium
module WebDriver
class Element
def select(value)
self.find_elements(:tag_name => "option").find do |option|
if option.text == value
option.click
return
end
end
end
end
end
и вы сможете выбрать значение:
browser.find_element(:xpath, ".//xpath").select("Value")
Автор: AlekseiPetrovski
Размещён: 31.07.2012 08:32
3 плюса
Попробуйте использовать:
selenium.select("id=items","label=engineering")
или же
selenium.select("id=items","index=3")
Автор: coolcub
Размещён: 03.12.2012 10:03
0 плюса
Опция, аналогичная той, что была опубликована выше janderson, заключается в простом использовании метода .GetAttribute в селене 2. Используя это, вы можете получить любой элемент, имеющий определенное значение или метку, которую вы ищете. Это можно использовать, чтобы определить, есть ли у элемента метка, стиль, значение и т. Д. Обычный способ сделать это состоит в том, чтобы пройтись по пунктам в выпадающем меню, пока вы не найдете нужный элемент и выберите его. В C #
int items = driver.FindElement(By.XPath("//path_to_drop_Down")).Count();
for(int i = 1; i <= items; i++)
{
string value = driver.FindElement(By.XPath("//path_to_drop_Down/option["+i+"]")).GetAttribute("Value1");
if(value.Conatains("Label_I_am_Looking_for"))
{
driver.FindElement(By.XPath("//path_to_drop_Down/option["+i+"]")).Click();
//Clicked on the index of the that has your label / value
}
}
Автор: Ben
Размещён: 14.02.2014 06:33
0 плюса
Вы можете сделать так:
public void selectDropDownValue(String ValueToSelect)
{
webelement findDropDownValue=driver.findElements(By.id("id1")) //this will find that dropdown
wait.until(ExpectedConditions.visibilityOf(findDropDownValue)); // wait till that dropdown appear
super.highlightElement(findDropDownValue); // highlight that dropdown
new Select(findDropDownValue).selectByValue(ValueToSelect); //select that option which u had passed as argument
}
Автор: Praveen
Размещён: 18.06.2014 12:26
0 плюса
Этот метод вернет выбранное значение для выпадающего списка,
public static String getSelected_visibleText(WebDriver driver, String elementType, String value)
{
WebElement element = Webelement_Finder.webElement_Finder(driver, elementType, value);
Select Selector = new Select(element);
Selector.getFirstSelectedOption();
String textval=Selector.getFirstSelectedOption().getText();
return textval;
}
между тем
String textval = Selector.getFirstSelectedOption ();
element.getText ();
Вернет все элементы в раскрывающемся списке.
Автор: Jophin P John Размещён: 07.12.2017 09:51-2 плюса
Это код для выбора значения из выпадающего
Значением для selectlocator будет xpath или имя раскрывающегося списка, а для optionLocator будет выбрано значение из раскрывающегося списка.
public static boolean select(final String selectLocator,
final String optionLocator) {
try {
element(selectLocator).clear();
element(selectLocator).sendKeys(Keys.PAGE_UP);
for (int k = 0; k <= new Select(element(selectLocator))
.getOptions().size() - 1; k++) {
combo1.add(element(selectLocator).getValue());
element(selectLocator).sendKeys(Keys.ARROW_DOWN);
}
if (combo1.contains(optionLocator)) {
element(selectLocator).clear();
new Select(element(selectLocator)).selectByValue(optionLocator);
combocheck = element(selectLocator).getValue();
combo = "";
return true;
} else {
element(selectLocator).clear();
combo = "The Value " + optionLocator
+ " Does Not Exist In The Combobox";
return false;
}
} catch (Exception e) {
e.printStackTrace();
errorcontrol.add(e.getMessage());
return false;
}
}
private static RenderedWebElement element(final String locator) {
try {
return (RenderedWebElement) drivers.findElement(by(locator));
} catch (Exception e) {
errorcontrol.add(e.getMessage());
return (RenderedWebElement) drivers.findElement(by(locator));
}
}
Спасибо,
Рекх.
Автор: Kartmcad Размещён: 22.06.2011 06:23Вопросы из категории :
- java В чем разница между int и Integer в Java и C #?
- java Как я могу определить IP моего маршрутизатора / шлюза в Java?
- java Каков наилучший способ проверки XML-файла по сравнению с XSD-файлом?
- java Как округлить результат целочисленного деления?
- java Преобразование списка <Integer> в список <String>
- selenium Есть ли способ одновременно запускать тесты Bamboo?
- selenium Selenium xpath flow
- selenium Доступ к диалоговому окну загрузки файлов в Firefox
- selenium Как отключить Javascript при использовании Selenium?
- selenium Можно ли спрятать браузер в Selenium RC?
- drop-down-menu Как добавить элемент в начало списка <T>?
- drop-down-menu Изображения в выпадающем списке
- drop-down-menu Как установить выбранный элемент в выпадающем списке
- drop-down-menu Получить выделенный текст из раскрывающегося списка (выберите поле) с помощью jQuery
- drop-down-menu проблема с выпадающим списком updateprogress и updatepanel
- selenium-webdriver Selenium WebDriver: я хочу перезаписать значение в поле вместо добавления к нему с помощью sendKeys с использованием Java
- selenium-webdriver NoClassDefFoundError в Java: com / google / common / base / Function
- selenium-webdriver Как выбрать опцию из выпадающего списка, используя Selenium WebDriver C #?
- selenium-webdriver Загрузка файлов с использованием Selenium WebDriver и Java Robot Class
- selenium-webdriver Разница между webdriver.get () и webdriver.navigate ()