我只是在寻找这个方法,这将帮助我使用Java上的Selenium Webdriver从下拉列表中随机获取所选元素的文本值。
以下是下拉列表的HTML:
public void selectRandomValue() {
Select select = new Select(getWebElement());
List<WebElement> weblist = select.getOptions();
int options = weblist.size();
Random random = new Random();
int option = random.nextInt(options);
String value = Integer.toString(option);
logMessage("Select random " + value + " value in"); // In logMessage i want to recieve text instead of number.
select.selectByIndex(option);
}
这是我的代码:
{{1}}
答案 0 :(得分:3)
可替换地:
String value = weblist.get(option).getText();
如果它是您想要的显示文本(在您的示例中似乎相同,但不一定是这样)。
答案 1 :(得分:1)
String value = weblist.get(option).getAttribute("value");
如果我理解正确的话,应该这样做。或者如果你想要文字:
String value = weblist.get(option).getText();
答案 2 :(得分:0)
以下代码将显示列表框中所选元素的文本:
Random random = new Random();
int optionIndex = random.nextInt(listbox.getOptions().size()-1);
listbox.selectByIndex(optionIndex++);
String text = listbox.getFirstSelectedOption().getText();
System.out.println(text);