2012-10-16 52 views
1
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做呢?如何在IE中使用webdriver單擊某個選項?

編輯:
我重寫它沒有使用選擇對象,它仍然拒絕點擊該選項。

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得到它。

相關問題