将鼠标悬停在水豚上

发布于 2024-11-29 11:50:44 字数 91 浏览 0 评论 0原文

我的页面上有一个按钮,仅当将鼠标悬停在某个元素上时才会出现。但我不知道如何模拟这个,然后单击链接,以便我可以使用 Capybara 和 Selenium 进行黄瓜测试。

I have a button on a page which only appears when hovering over a certain element. But I can't figure out how to emulate this and then click on the link so I can cucumber test it using Capybara and Selenium.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

万劫不复 2024-12-06 11:50:44

您可能需要为此使用自定义步骤,例如:

When /^I click "([^"]*)" inside element "([^"]*)"$/ do |button, element_name| 

在内部,您编写类似以下内容的内容:

begin
  evaluate_script("$('#{element_name}').trigger('mouseover')")
  rescue Capybara::NotSupportedByDriverError
end

然后单击您想要的按钮:)

You may want use a custom defined step for this, like:

When /^I click "([^"]*)" inside element "([^"]*)"$/ do |button, element_name| 

Inside, you write something like:

begin
  evaluate_script("$('#{element_name}').trigger('mouseover')")
  rescue Capybara::NotSupportedByDriverError
end

And then you click that button you want :)

巨坚强 2024-12-06 11:50:44

我找到了一种使用 Capybara + Selenium 驱动程序来模拟“鼠标悬停”的方法。试试这个代码:

module Capybara
  module Node
    class Element
      def hover
        @session.driver.browser.action.move_to(self.native).perform
      end
    end
  end
end

I found a way to simulate "mouse hover" using Capybara + the Selenium driver. Try this code:

module Capybara
  module Node
    class Element
      def hover
        @session.driver.browser.action.move_to(self.native).perform
      end
    end
  end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文