2012-07-19 46 views
0

本網站有一個狀態下拉菜單(請參閱下面的鏈接)。這是我不得不做的最艱難的事情。任何人都可以幫我弄清楚如何從這個菜單中選擇一個項目?問題是,當列表被填充時,DOM不會改變,所以我不知道如何選擇它。誰能告訴我如何在這個下拉菜單上訓練Selenium WebDriver?

US Post Office Address Search Page

@FindBy(css = "span.select-current-text") private WebElement state; 
public void selectElementByString(WebElement field, String str) {  
    state.click(); 
    // menu appears but doesn't appear in HTML so how do I select? 
} 

這是硒IDE是如何記錄它:

selenium.click("css=span.select-current-text"); 
selenium.click("link=RI - Rhode Island"); 

我懷疑控制與DOJO Toolkit創建爲可見here

回答

1

這應該工作..

//Name of the state to select. 
    String stateName = "AL - Alabama"; 

    //Open Url. 
    driver.get("https://tools.usps.com/go/ZipLookupAction!input.action"); 

    //Click on state select box, which makes the list visible. 
    driver.findElement(By.className("select-current-text")).click(); 

    //Select the state from the list. 
    driver.findElement(By.partialLinkText(stateName)).click(); 
+0

那完美。謝謝。我不知道有關partialLinkText方法。我非常感謝幫助! – djangofan 2012-07-19 04:06:33

+0

任何時候......你甚至可以使用州代碼,「AL」或類似的,而不是使用全文。 – vidit 2012-07-19 04:11:54

相關問題