遅延は、次の3つの方法でセレンを待っています

待つことを余儀なく::SLEEP()暗黙の待機:implicitly_wait()ショー待ちWebDriverWait()三方を待ってSeleniumの遅延

待つことを余儀なく1:SLEEP()、メソッドを時間モジュールに、できる唯一の現行のシングルステップ動作のために、欠点:、および動作のみの部分ステップの目的ではないの良い制御スクリプトの実行速度、必要が各ステップを追加する場合あまりにも多くの重複したコードが表示され、睡眠時間5秒以上は、ブラウザのリンクが壊れている場合にはお答えします。

以下からの時間のインポートSLEEP 

SLEEP( 2) #     着信待機時間

2.暗黙の待っ:implicitly_waitを():暗黙の待機を、オブジェクト内のwebdriverを駆動方式、すべての操作のためのセッションでは、グローバル待機に相当し、文のみ一度定義され、スクリプトは通常、設計方法の設定で適用されます。 ;

以下からのセレンのインポート webdriverを       #のリーダーパケット

ドライバ = webdriver.Chrome()         取得オブジェクトブラウザドライブ

driver.implicitly_wait( 20です)           暗黙の待機、入ってくるの待ち時間

3.待機画面、WebDriverWait(ドライブオブジェクト、待機時間)

方法の2種類の導入WebDriverWait 
から selenium.webdriver.support.wait インポート WebDriverWait        #のリーダーパケット
から selenium.webdriver.support.ui インポート WebDriverWait          #のリーダーパケット
webdriverwaitは二つの方法までだけではなくなるまで使用することができます使用、未求心性パラメータは、匿名関数やラムダ予め設定された条件のexpected_conditionsかもしれまでまで
selenium.webdriver.support インポートexpected_conditions AS EC
 から selenium.webdriver.common.by インポートすることで
 WebDriverWaitオブジェクトを渡す必要が全体の待機時間間隔とリフレッシュ間隔をデフォルトの0.5駆動することであるPresence_of_element_locatedを要素元が存在しなければならないかどうかを示します着信グループの形態、配置することによって、方法の使用中 
(EC.presence_of_element_located((By.ID、.until WebDriverWait(ドライバ、30、0.5)' キロワット')))
もしunitlまたは対応するオブジェクトを見つけるために、着信位置決め要素法が返されますunitl見つからない場合は、例外がスローされますないTimeoutException
ECプリセット条件判定モジュールは、多くの種類があります。
現在の要素がpresence_of_element_located存在するかどうかを決定します
Presence_of_all_elements_located要素のセットが存在するか否かを判定する
要素の値がText_to_be_present_in_element_valueテキスト情報xxをしているか否かを決定します
Presence_of_all_elements_located要素のセットが存在するか否かを判定する
 

おすすめ

転載: www.cnblogs.com/XhyTechnologyShare/p/11820338.html