Ruby on rails 轨道&x2B;水豚:单击带有evaluate_脚本的链接将冻结webdriver
我在我的Ruby on rails 轨道&x2B;水豚:单击带有evaluate_脚本的链接将冻结webdriver,ruby-on-rails,capybara,Ruby On Rails,Capybara,我在我的js:true请求规范中运行以下命令: page.evaluate_script("$('#sign-up').click();") 这将成功打开模式。但是,无论规范中接下来会出现什么,webdriver都会在这一点上冻结。在长时间暂停后,我得到: Failure/Error: Timeout::Error: Timeout::Error # ./spec/requests/my_spec.rb:14:in `block (3 levels) in <top (re
js:true
请求规范中运行以下命令:
page.evaluate_script("$('#sign-up').click();")
这将成功打开模式。但是,无论规范中接下来会出现什么,webdriver都会在这一点上冻结。在长时间暂停后,我得到:
Failure/Error:
Timeout::Error:
Timeout::Error
# ./spec/requests/my_spec.rb:14:in `block (3 levels) in <top (required)>'
故障/错误:
超时::错误:
超时::错误
#./spec/requests/my_spec.rb:14:in'block(3层)in'
在这种情况下,我想使用
evaluate_script
而不是“click_on”,因为该特定链接上没有href
属性(click_on不起作用)。如何让它在不超时的情况下工作?这是由于Selenium中的一个bug造成的。在这里找到了答案:
替换页面时,它不会挂起。请使用以下内容评估脚本:
page.driver.browser.execute_script
谢谢这为我解决了水豚(1.1.2)和SeleniumWebDriver(2.25.0)的问题。我实际上触发了鼠标悬停,但有相同的超时问题。你可以使用页面。执行脚本。无需转到page.driver.browser