私の2つのシナリオ -
1) まず
@driver.manage.timeouts.implicit_wait = 30
@wait = Selenium::WebDriver::Wait.new(:timeout => 45) # Time greater than implicit
@wait.until {@driver.find_element(:tag_name => "body").text.include?("hey")}
これにより、ドライバーはテキストを検索するのに 45 秒かかります (これは予想されることです)。
2) セカンド
@driver.manage.timeouts.implicit_wait = 30
@wait = Selenium::WebDriver::Wait.new(:timeout => 5) # Time less than implicit
@wait.until {@driver.find_element(:tag_name => "body").text.include?("hey")}
これにより、ドライバーはテキストを検索するために30 秒かかります (予期されていません)。
explicit
セレンを待機時間だけ待機させ、2 つのうち大きい方を待機させる方法はありますか?
注 - 暗黙の待機時間を宣言しないことはオプションではありません。ドライバーが何かを見つけることができないたびにセレンをハングさせる余裕がないためです。
Selenium バージョン 30、windows、ff の使用