2013-12-16 121 views
0

我一直在嘗試和嘗試一些涉及java和Selenium webdriver的代碼,點擊鏈接時的代碼在鼠標控件位於瀏覽器上時似乎不起作用。立即當我刪除控制,代碼工作正常。我對此感到困惑,因爲其他方式通常會導致錯誤。在這裏即時通訊嘗試使用屏幕上可見的文本點擊子菜單。已經在Firefox 24和IE中對它進行了測試。導航到不起作用的菜單

HomePage homePage=new HomePage(driver); 
homePage.navigate("Tickets,Flight Tickets,Book Tickets"); 

public void navigate(String path){ 
    String navigationPath=path; 


    for (String navStep: navigationPath.split(",")){ 
      System.out.println(navStep); 
Actions actions = new Actions(driver); 
      WebElement element= new WebDriverWait(driver, 5).until(ExpectedConditions 
        .elementToBeClickable(By.linkText(text.trim()))); 
      actions.moveToElement(element).build().perform(); 
      element.click(); 
} 

不知道我在Eclipse IDE或系統中的設置是否錯誤導致此錯誤。對這個問題的一些洞察力真的有幫助。

感謝和問候

Sushanth.G

回答

0

你可以試試下面的代碼,如果你在子菜單將鼠標懸停在主菜單彈出..

for (String navStep: navigationPath.split(",")){ 
      System.out.println(navStep); 
Actions actions = new Actions(driver); 
WebElement element= new WebDriverWait(driver, 5).until(ExpectedConditions 
        .elementToBeClickable(By.linkText(text.trim()))); 
      actions.moveToElement(element).build().perform(); 

} 
actions.click(); 
actions.perform(); 
0

不,它不工作。它實際上點擊主菜單,但子菜單不打開,它無法找到子菜單。 錯誤消息獲得「等待元素可點擊5秒後超時:By.linkText:航班機票」

如果我將鼠標懸停在任務欄上,那麼它可以正常工作。

感謝和問候 Sushanth.G