用于Listbox选择的Selenium Java代码适用于Chrome和IE,但不适用于Firefox

时间:2016-09-12 18:27:42

标签: java selenium webdriver

我正在公共网站上工作: http://preview.harriscountyfws.org/

我想做一些简单的事情: 从下拉列表中选择一个选项。

适用于IE和Chrome的相同代码在Firefox上失败。没有生成错误。它只是没有从站点类型下拉列表中选择正确的选项(“通道状态”)。

对此有任何帮助表示赞赏!

WebElement listbox_element2, we2;
        String ariaOwns = "siteType_listbox";
        String searchText2 = "Channel Status";


    listbox_element2 = driver.findElement(By.cssSelector("span[aria-owns='" + ariaOwns + "']"));
    listbox_element2.click();
    Sleep(2000);
    we2 = driver.findElement(By.xpath("//li[text()='" + searchText2 + "']"));
    if (we2 != null) {
        we2.click();
    }`

1 个答案:

答案 0 :(得分:0)

您可能希望在firefox浏览器上运行测试时引入显式等待,然后在调试过程中打印所有下拉选项。通过使用 selectByValue(value)方法,您可以从下拉列表中选择一个项目。

WebElement mySelectElement = driver.findElement(By.id("mySelect"));
Select dropdown= new Select(mySelectElement);
List options = dropdown.getOptions();
for (WebElement option : options) {
System.out.println(option.getText()); //output "option1", "option2", "option3"
}