2012-08-25 45 views
2

我跑在我的js: true要求规格如下:的Rails +水豚:点击与evaluate_script链接冻结的webdriver

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不工作)。如何在没有超时的情况下使其工作?

回答

3

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

与更换page.evaluate_script当它不挂:

page.driver.browser.execute_script 
+0

谢谢!这也解决了水豚(1.1.2)和硒-webdriver(2.25.0)的问题。我实际上触发了一个鼠标悬停,但有相同的Timeout问题。 – jgkite

+0

你可以使用'page.execute_script'。不需要去'page.driver.browser' –