UIオートメーションは、いくつかの一般的に使用される方法を待ちます

  様々な理由(ビジネスロジックの理由、ネットワーク自体、理由のサーバの応答など)のために、あなたは待つようにコードを動作させる必要があります!現在、pythonで待機しているUIオートメーションは、最も一般的に使用されているいくつかの、あなたの参照の分析のための:

まず、世界時クラス

睡眠を()を使用して、[時間インポートスリープ]で導入されたインポート時間睡眠時間からtime.sleepを使用してクラス[インポート時間]()または、、、コードの各ステップの後に書き込むことができ、この方法は柔軟性および自由を待つが、彼らは背後にあるコードを実行する前に実行する必要があります完了した時点を書き戻す欠点、比較的時間のかかるがあります!不確実性は、その後、我々は、コードエラーのために待機します、時間不足にあります!例えば、コードは、書かれた睡眠(5)、待っ/睡眠5秒が、コードエラーの関連する要素は、プログラムが破損する原因となるので、それが検出されませんので、ネットワーク遅延は、ページまたは照会する要素を更新する10秒かかることがあります!そこを追加睡眠(5)秒、が、1つの第2のリフレッシュプログラムの後であり、残り4秒が無駄に!

二、driver.implicitly_wait()に隠れ待機/インテリジェント待っています 

この方法はないインターフェースの自動化や他のPythonコードでは、UIオートメーションを使用して、唯一のwebdriverをサービスに適用されます!すべてのコードが適用される時に使用した後、driver.implicitly_wait(10)は、コードを実行するには!そのアイデアは、各要素の位置の次の要素を設定するには、すべての(0.5秒)の要素についての要求、(これは重要ではありません、一回ごとに0.5秒に更新されると推定さを!)が待っているかどう未満に配置される前に実行することです要素の前に与えられていない場合は、要求した後、10秒!ライン上で入力した値です!これは非常に待ち時間を短縮し、多くの倍の睡眠()メソッドとは異なり、コードを書くために!これは、会話の中で一度だけそれを書きます!大幅にコードの量を減らします!

三、WebDriverWait(ドライバー、タイムアウト、poll_frequency = 0.5 、ignored_exceptions = なしで)明示的待ちます

まずパッケージをインポート:selenium.webdriver.support.wait輸入WebDriverWaitから

(ボタンは特定の条件が満たされた後にのみ、グレーアウトされるようにクリックすることができ、この条件は達成するために、いくつかの遅延を必要とするかもしれない、制御するのに使用されるいくつかのビジネスロジックに)いくつかの要素は、同様に待機を表示され、操作するためのいくつかの時間を必要としますこの方法はまた、唯一のwebdriverをして​​使用することができます。使用方法の具体例としては:

開いているブラウザの前に、ページが無視される開く、最初にそれをカスタマイズするための隠し要素を入れます。lsの=「//*[text()="xxx"]/../a」位置(マルチレベル要素。親の代表) 

                 ---> 30 3の上限はさらに後ろに、3秒毎にリフレッシュ要求である:次に、待機の例としては、(driver.find_element_by_xpath(LS)ラムダドライバ).until LL = WebDriverWait(ドライバ、30,3)オブジェクト引数が続くことができ、それはレポートの後に何も異常を超えています

                 --->ラムダは匿名関数であります

                 最後に、要素が存在する、作動要素ll.click()

これらは、ちょうど誰か他の人のブログリストは手の込んだなかった読み、仕上げを待つ方法の3種類があり、私は、各白は私のブログには助けあなたを与えることができます参照してくださいと信じています!ご支援いただきありがとうございます!コメント大歓迎!

                  

おすすめ

転載: www.cnblogs.com/shaobai/p/11494002.html