【发布时间】:2012-10-17 00:11:00
【问题描述】:
我的 HTML 页面上有一个不可见的元素,当鼠标悬停在该元素上时,它变得可见。我要做的是
- 将鼠标悬停在元素上
- 点击元素(会显示4个选项)
- 点击其中一个选项
我正在为 selenium web 驱动程序使用 Java API,以下是我一直在尝试的
Actions builder = new Actions(driver);
builder.moveToElement(MainMenuBTN).click().build().perform();
subMenuBTN.click();
- MainMenuBTN = 鼠标悬停时可见的元素 在它上面
- subMenuBTN = 从菜单选项中选择的元素 显示的
发生的情况是,MainMenuBTN 上的 click() 正在生成 ElementNotVisible 异常。 我尝试遵循以避免这种情况,但没有奏效。
Actions builder = new Actions(driver);
builder.moveToElement(mainMenuBTN).build().perform();
builder.click();
subMenuBTN.click();
注意:mainMenuBTN 和 subMenuBTN 是由
生成的WebElementsdriver.findElement(By.xpath("xpath_string"))
我错过了什么吗?帮助表示赞赏!
【问题讨论】:
-
你找到解决办法了吗?对我来说,以下代码有效:
WebElement menu = driver.findElement(by); Actions builder = new Actions(driver); builder.moveToElement(menu).build().perform(); WebDriverWait wait = new WebDriverWait(driver, 15);显示子菜单后,我使用 id 找到元素并单击它。不幸的是,这适用于 FF 25 和 Selenium 2.42.2。当我升级 FF 时,它没有按预期工作。