如何使用随机选择获取列表中元素的文本?

时间:2016-02-10 16:35:06

标签: java selenium selenium-webdriver webdriver

我只是在寻找这个方法,这将帮助我使用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}}

3 个答案:

答案 0 :(得分:3)

可替换地:

String value = weblist.get(option).getText();

如果它是您想要的显示文本(在您的示例中似乎相同,但不一定是这样)。

答案 1 :(得分:1)

String value = weblist.get(option).getAttribute("value");

如果我理解正确的话,应该这样做。或者如果你想要文字:

String value = weblist.get(option).getText();

看看documentation

答案 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);