2012-08-25 76 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' –