2
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 では何も起こりません。

4

1 に答える 1

2

私が使う -

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でもOK!ここから入手しました。

于 2012-10-17T06:37:02.827 に答える