表示待ち
ExpectedCondition WebDriverWaitと一緒に実装されています。非大域待ち、コード以来限り、条件はただの実行を待っているよう:
セレンインポートwebdriverをから によってselenium.webdriver.common.byインポートから selenium.webdriver.support.ui輸入WebDriverWaitから ECとしてselenium.webdriver.support輸入expected_conditionsから ドライバ= webdriver.Chrome() driver.get( "http://www.baidu.com") 元素= WebDriverWait(ドライバ、5,0.5).until( EC.presence_of_element_located((By.ID、 "KW"))) element.send_keys( 'セレン') driver.quit()
WebDriverWait(ドライバ、タイムアウト、poll_frequency、ignore_exception)
ドライバ:ドライバのブラウザの
タイムアウト:タイムアウトは最長の時間を待っている
poll_frequency:検出間隔を、デフォルトは500ミリ秒です
ignore_exception:デフォルトでは、タイムアウト後にスローされた例外メッセージは、例外はNoSuchElementExceptionを投げます
使用()とuntil_not()メソッドまで、ECは、解析条件の背後から予想されます。
title_isが予想されるに等しい現在のページのタイトルかどうかを判断します title_containsは、現在のページのタイトルが期待される文字列が含まれているかどうかを判断します 要素はDOMツリーに追加されているか否かを判断し、それは特定の要素が表示されていることを意味するものではないpresence_of_element_located visbility_of_element_located決定要素が表示されている(非隠された要素の代わりに、可視、および要素の幅と高さが0に等しくありません) 従来の方法と同じ効果が、異なる受信パラメータvisbility_of。受信パラメータの上に配置され、このパラメータは、位置決め要素であります 少なくとも一つの要素がDOMツリー内に存在するかどうかを決定presence_of_all_elements_located。限りtrueを返しますがある限り text_to_be_present_in_elementテキストの要素が期待される文字列が含まれているかどうかを判断します 要素のvalue属性が期待される文字列が含まれtext_to_be_present_in_element_value決定 可能であればスイッチに、フォームに切り換えるべきかどうかを決定するframe_to_be_available_and_switch_to_itは、そうでなければ、TrueおよびFalseを返します invisbility_of_element_located要素が存在しないか、またはDOMツリーに表示されていないかどうかを決定します 要素が可視およびクリック可能であるか否かを決定する)(element_to_be_clickable staleness_of要素がDOMツリーから削除されるまで、要素はまだDOMであるかどうかを判断するには、ページが更新されたかどうかを判断することができます 要素は、一般に、選択されたドロップダウンリストで使用されているかどうかを決定Element_to_be_selected Element_selection_state_to_beは、そうでなければFalse、素子が状態、等しい戻る真の期待、着信オブジェクトおよび要素に沿って選択されているかどうかを決定します 従来の方法と同じ効果をelement_located_selection_state_to_beが、メソッドパラメータは、位置決めの要素であり、測位方法は、受信されたパラメータ alert_is_presentページに警告があるかどうかを決定します
第二に、暗黙の待ち時間
これは、位置決め要素は、タイムアウトのすべての要素のために提供されている場合、グローバル待機を設定することと同じです。
webdriverをセレンをインポート
ドライバー= webdriver.Firefox()
の条件が満たされた場合、最長30秒を待っている、とdriver.implicitly_wait(30)#劣性は、以下の手順を実行し続けることが
//huilansame.github:driver.get(」HTTPSを。 IO「)
プリントdriver.current_urlの
driver.quit()