如何使用 webdriver 在 IE 中单击选择选项?

Posted

技术标签:

【中文标题】如何使用 webdriver 在 IE 中单击选择选项?【英文标题】:How do you click a select option in IE with webdriver? 【发布时间】:2012-10-06 23:25:30 【问题描述】:
private void select(WebDriver driver, String select_text) 
    System.out.println("Selecting "+select_text+" from drop down menu");
    Select select = new Select(driver.findElement(By.name("roomMenu")));
    select.selectByVisibleText(select_text);

这个功能在firefox上运行良好,但是在IE中运行时,它不会点击任何选项。对于 IE,我有什么特定的方法吗?

编辑: 我在不使用 Select 对象的情况下重写了它,但它仍然拒绝单击该选项。

private void select(WebDriver driver, String select_text) 
    System.out.println("Selecting "+select_text+" from drop down menu");

    WebElement select = driver.findElement(By.name("roomMenu"));
    List<WebElement> options = select.findElements(By.tagName("option"));

    for (WebElement option : options) 
        if (option.getText().equals(select_text)) 
            System.out.println(option.getText());
            option.click();
        
    

它会打印出正确的选项,所以我知道它找到了正确的选项,但是当我执行 option.click() 时,IE 中没有任何反应。

【问题讨论】:

【参考方案1】:

我用-

private boolean selectFromDropDown(String locator, String value) 
    try 
        new Select(driver.findElement(By.xpath(locator))).selectByVisibleText(value);
        return true;
    
     catch (Exception e) 
            verificationErrors.append(e.toString());
            System.out.println("Could not find element");
            return false;
        

在 IE 中也可以正常工作! 从here得到它。

【讨论】:

以上是关于如何使用 webdriver 在 IE 中单击选择选项?的主要内容,如果未能解决你的问题,请参考以下文章

如何单击使用 Selenium WebDriver 隐藏的元素?

如何在 webdriver.io 中以 32 位模式启动 IE

Selenium 2.0b3 IE WebDriver,点击不触发

如何在 Java 中使用 Selenium WebDriver 单击按钮?

在 Java 中使用 Selenium Webdriver 以不同用户身份运行 IE

Codeception, WebDriver |如何悬停,然后单击悬停的位置