selenium - 使用 Capybara 和 Selenium 将鼠标悬停在元素上

标签 selenium cucumber capybara

我在页面上有一个链接,该链接仅在悬停在某个元素上时出现。但我不知道如何模拟这个,然后点击链接,这样我就可以使用 Capybara 和 Selenium 对它进行 cucumber 测试。

有人知道怎么做吗?我已经尝试执行 javascript 并尝试直接与 selenium 驱动程序交谈,但到目前为止我没有太多运气......

最佳答案

这个问题已经有几年了,所以答案可能已经改变了。在较新版本的 Capybara 中,有几种不同的方法可以做到这一点,具体取决于您使用的驱动程序。

对于 selenium,您可以执行 javascript:

page.execute_script '$("#element").trigger("mouseover")'

较新版本的 selenium-webdriver 支持悬停方法:
find('#element').hover

对于 capybara-webkit,驱动程序支持在元素上触发事件:
find('#element').trigger(:mouseover)

我最初从 here 找到了这个问题的答案和 here .

关于selenium - 使用 Capybara 和 Selenium 将鼠标悬停在元素上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6382169/

相关文章:

angularjs - cucumber / capybara + Angular : Test passes using selenium driver, 但不是恶作剧鬼

javascript - 浏览器已完成加载, capybara 仍无法通过测试

java - 如何在 Selenium 网格中执行拖放

javascript - 如何使用 Selenium 进行硬刷新

java - Selenium 在远程计算机 Mac OS 上启动自定义配置文件

ruby - 将 cucumber 步骤或步骤文件限制为指定的功能或标签

ruby-on-rails - 如何使用 Cucumber 测试 Devise 的可内存功能?

python - 循环时我应该在哪里实例化我的 WebDriver 实例?

ruby - 如何将 Capybara 包含到 Cucumber 项目的模块中

ruby - 使用 Capybara 获取边框样式