Rails + Capybara:点击带有evaluate_script的链接会冻结webdriver

时间:2012-08-25 20:17:10

标签: 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 (required)>'

我想在这种情况下使用evaluate_script而不是'click_on',因为该特定链接上没有href属性(click_on不起作用)。如何在没有超时的情况下让它工作?

1 个答案:

答案 0 :(得分:4)

这是由于Selenium中的一个错误。在这里找到答案:https://groups.google.com/forum/?fromgroups=#!topic/ruby-capybara/YcZwyPdMJFU

page.evaluate_script替换为:

时,它不会挂起
page.driver.browser.execute_script