有时移动到元素并且单击事件不起作用

时间:2015-04-25 06:35:10

标签: java events selenium selenium-webdriver click

我是selenium web驱动程序的新手并且遇到了以下问题。我已经编写了悬停在菜单上的代码,然后点击jsp页面中的子菜单。我有3个锚标签,用于点击并重定向到另一个页面。

但问题是第一个,最后一个锚点正常工作而不是第二个标记。第一个和最后一个标记动作可以实现但是当驱动程序移动到没有响应的秒标记时,并将异常称为"没有这样的元素"。

怎么可能。不知道为什么它没有移动到那个特定的标签并触发它。请帮助我。提前谢谢。

    <li style="z-index:1"><a href="welcome.jsp">Business</a>
    <ul><li><a href="ChainPerformance.jsp">Chain Performance</a>
<li><a href="TopXReport.jsp">Top X Report</a><li>
    <a href="ChainTop.jsp">Chain Top</a><li></ul></li>

鼠标悬停代码并点击:

@Then ("^I hover on (.+) menu and (.+) submenu$")
            public void mousehover(String elementName,String subMenu) throws InterruptedException{
                Actions actions = new Actions(webdriver);
                WebElement menuHoverLink = webdriver.findElement(By.xpath("//a[text() = '" + elementName + "']"));
                actions.moveToElement(menuHoverLink).perform();
                Thread.sleep(2000);
                actions.moveToElement(menuHoverLink).moveToElement(webdriver.findElement(By.xpath("//a[text() = '" + subMenu + "']")));
                Thread.sleep(2000);
                actions.click().perform();
                System.out.println("Sub menu "+subMenu+" Has been clicked");
            }

1 个答案:

答案 0 :(得分:0)

尝试删除您提供的睡眠陈述。