我在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不起作用)。如何在没有超时的情况下让它工作?
答案 0 :(得分:4)
这是由于Selenium中的一个错误。在这里找到答案:https://groups.google.com/forum/?fromgroups=#!topic/ruby-capybara/YcZwyPdMJFU
将page.evaluate_script
替换为:
page.driver.browser.execute_script