gpt4 book ai didi

ruby-on-rails - 如何用 capybara 模拟鼠标悬停

转载 作者:行者123 更新时间:2023-12-03 06:11:45 26 4
gpt4 key购买 nike

基本上,我想做的是单击一个按钮,该按钮在悬停另一个元素(其父元素)时变得可见。

我尝试在隐藏按钮的父级上使用trigger.('mouseover'),但这似乎不起作用。

这是规范中的代码片段:

 # label[for ... ] -> the parent element
page.execute_script("$('label[for=\"department_#{department.id}\"]').trigger(\"mouseover\")")
# le hidden button
find(".actions").click
# some <li> on a list that drops down when clicking the hidden button
click_on("Edit department")

错误...

 Failure/Error: click_on("Edit department")
Selenium::WebDriver::Error::ElementNotVisibleError:
Element is not currently visible and so may not be interacted with

我想知道如何使 .actions 按钮在页面上可见,以便随后单击它。

任何帮助将不胜感激。

最佳答案

capybara 提供Element#hover method从2.1版本开始:

find('.some_class').hover

此方法在 Capybara::Selenium::Driver 中实现,其方式与 @AlexD 的答案几乎相同。

请注意,要在 Selenium 中使用 #hover it's usually better to turn native events on :

Capybara.register_driver :selenium do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
profile.native_events = true
Capybara::Selenium::Driver.new(app, :browser => :firefox, profile: profile)
end

关于ruby-on-rails - 如何用 capybara 模拟鼠标悬停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9784118/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com