导航到菜单不起作用

时间:2013-12-16 10:59:42

标签: java selenium testng

我一直在尝试和试验一些涉及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

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

不,它不起作用。它实际上点击主菜单但子菜单没有打开,它无法找到子菜单。 获得的错误消息“等待元素可点击5秒后超时:By.linkText:Flight Tickets”

如果我将鼠标悬停在任务栏上,那么它可以正常工作。

谢谢和问候 Sushanth.G