0

Selenium WebDriver の click() メソッドを実行しようとするまで、DOM が安定してページが構築されるまで待ちたいと思います。

Selenium 2以降、在庫のwait_for()メソッドはもう存在しないようです。SeleniumとPython 2で「15秒待つか、要素がクリック可能になるまで」スタイルの動作のベストプラクティスは何ですか?

4

2 に答える 2

2

あなたが探しているのは、明示的に待っていることです。Selenium のドキュメントでは、明示的な待機がどのように機能するかについて詳しく説明しています。

ここでは、さまざまな種類の予想される条件を見つけることができます。おそらく最も関心のある条件は、'visibility_of' と呼ばれるものです。

于 2014-03-05T08:36:50.180 に答える
1

これは ruby​​ で書かれていますが、Python でも実行できると確信しています。

@wait = Selenium::WebDriver::Wait.new(:timeout => 30)
#You can define as many as you want with various times
@wait_less = Selenium::WebDriver::Wait.new(:timeout => 15)
#and then
@wait.until { @driver.find_element(:id, "Submit") }
@driver.find_element(:id, "Submit").click

注 - 何でも待つことができます。他の例

@wait.until {@driver.window_handles.size > 1}

また

@wait_less.until {@driver.find_element(:tag_name => "body").text.include?("Some text")}
于 2012-06-01T15:48:29.630 に答える