Java 在要单击的元素可用之前,是否需要将鼠标悬停在菜单上?

Java 在要单击的元素可用之前,是否需要将鼠标悬停在菜单上?,java,selenium,webdriver,selenium-webdriver,Java,Selenium,Webdriver,Selenium Webdriver,在要单击的元素可用之前,需要将鼠标悬停在菜单上 元素当前不可见,因此可能无法与之交互(警告:服务器未提供任何stacktrace信息)Selenium错误 我试过这个: action.moveToElement(WebElement1); action.moveToElement(WebElement2); action.click(); action.perform(); 在类似的情况下,使用DriverBackedElenium click和JSExecutor的组合对我来说也

在要单击的元素可用之前,需要将鼠标悬停在菜单上

元素当前不可见,因此可能无法与之交互(警告:服务器未提供任何stacktrace信息)
Selenium错误

我试过这个:

action.moveToElement(WebElement1);
action.moveToElement(WebElement2);      
action.click();
action.perform();

在类似的情况下,使用DriverBackedElenium click和JSExecutor的组合对我来说也很有效。请参阅这些链接,了解如何使用相同的工具


此代码适用于我:

  private Actions builder; 
  builder = new Actions(driver);        
  builder.moveToElement(Elel).build().perform();
试试下面的

        Actions actions = new Actions(driver);
        Action action1 = actions.moveToElement(webElement1).build();
        action1.perform();
        Action action2 = actions.moveToElement(webElement2).click().build();
        action2.perform();

要通过您的评论解决您的问题,请单击“关于我们”菜单中的“职业”链接,尝试以下操作:

Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.id("nav5")).moveToElement(driver.findElement(By.linkText("Careers")).click().build().perform();

显然,如果你想点击鼠标移动后出现的其他链接,你只需要更改相关的
元素
定位符。

请提供html或URL。Selenium 2.32 standalone jar,FF 22和site is peopleanswers.com位于右上方的导航栏中。。假设我想单击ContactUs>Career尝试使用
Actions()
类将您的命令链接成一行,它确实很有帮助
action.moveToElement(driver.findElement(By.id)(“id1”)).moveToElement(driver.findElement(By.id)(“id2”)).click().build().perform();
这只会单击一个元素,但我想跳过一个,稍后再单击另一个