2014-03-06 59 views
0

我的代碼如下,我有'生產計劃'的問題,我需要能夠點擊生產計劃鏈接,但它不工作。菜單點擊不能使用硒webdriver通過Java

List<WebElement> ddOpts = driver.findElements(By.xpath("html/body/div[4]")); 
    ArrayList<String> links = new ArrayList<String>(); 
    for(WebElement we : ddOpts) { 
    //System.out.println(we.getText()); 
     links.add(we.getText()); 
    System.out.println(links); 

    if(we.getText().contains("Production Plan")) { 
     we.sendKeys("Production Plan"); 
     we.click(); 

    } 

回答

0

您在ddOpts列表中的WebElements不是錨標籤,但divs。我不知道頁面如何顯示,但似乎你可能會想到另一個xpath。喜歡的東西:

List<WebElement> ddOpts = driver.findElements(By.xpath("html/body/div/a[4]")); 

List<WebElement> ddOpts = driver.findElements(By.xpath("html/body/div[4]/a")); 

或者,也許,如果它是一個選擇選項,使用選擇對象

Select mySelect = new Select(driver.findElements(By.xpath("html/body/div[4]"))); 
mySelect.selectByVisibleText("Production Plan"); 

看到這個問題的答案: How to select an option from a drop-down using Selenium WebDriver with Java?

0

我不明白你爲什麼試圖去sendKeys()

,但如果你想點擊一個鏈接,下面的工作:

WebElement link = driver.findElement(By.PartialLinkText("Production Plan")); 
link.click(); 

您也可以嘗試用明確的等待:

new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOfElementLocated(By.PartialLinkText("Production Plan"))).click(); 
相關問題