4

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 は機能しません)。タイムアウトせずに動作させるにはどうすればよいですか?

4

1 に答える 1

4

これは Selenium のバグによるものです。ここで答えを見つけました: https://groups.google.com/forum/?fromgroups=#!topic/ruby-capybara/YcZwyPdMJFU

次のように置き換えてもハングしませんpage.evaluate_script

page.driver.browser.execute_script
于 2012-08-25T20:21:37.383 に答える