【发布时间】:2012-06-17 07:23:56
【问题描述】:
我有一个简单的CSS-based dropdown menu,我正在尝试单击 Java Selenium (WebDriver) 测试中的菜单项之一。
菜单(<ul> 元素)和项目(<a>)都有 ID,创建相应的 WebElement 对象可以正常工作。我正在尝试使用以下代码单击其中一项:
hoverOver(transfersMenu);
transferLink.click();
在hoverOver(),我尝试过all three answers from this question,但都没有工作。我不断得到:
org.openqa.selenium.ElementNotVisibleException:
Element is not currently visible and so may not be interacted with
Command duration or timeout: 2.06 seconds
(我也尝试过调用transferLink.click() 也之前 hoverOver(),希望隐式等待可以使其工作,但不行。)
知道如何使悬停工作以便可以点击链接吗?
Selenium 版本 2.21.0。我正在使用 Firefox 13.0 在 Linux (Ubuntu) 上运行测试。一位同事刚刚在 Windows 上尝试过(使用 Firefox 12.0),但对他也不起作用。
更新:根据 Slanec 在 cmets 和 these instructions 中的提示,我在 FirefoxProfile 上尝试了 setEnableNativeEvents(true)。起初这失败了:
org.openqa.selenium.InvalidElementStateException:
Cannot perform native interaction: Could not load native events component.
...但是在我升级到 Selenium 2.23.1 后,我不再收到该投诉。
仍然,悬停不起作用(打开或关闭本机事件)。 :-/
【问题讨论】:
-
链接问题中接受的解决方案应该有效=/。您在运行测试时实际看到了什么?
hoverOver()是否以可视方式打开列表? -
一些用户对相关问题有不同的疑问,还建议打开/关闭原生事件。
-
@Slanec:它不会在视觉上打开菜单。 (我通过测试的唯一方法是手动将鼠标悬停在菜单上,这允许 Selenium 单击菜单项。)嗯,我会研究原生事件...
-
@Slanec:也没有让它与原生事件一起工作......请参阅更新的问题。
标签: java drop-down-menu selenium hover webdriver