スクリプトは、DOM で使用できない UI コンポーネントにアクセスしていることがあります。この原因は、次の図に示すように、ネットワーク遅延である可能性があります。つまり、DOM がアクセスする準備ができていません。

この問題は、明示的または暗黙的いずれかの待機を使用して回避できます。次のセクションでは、さまざまなタイプの待機とそれぞれの使用するタイミングについて説明します。
明示的と暗黙的の比較
WebDriver 関数 driver.implicitly_wait(n)
は、WebDriver のセッションの残り期間を構成します。使用できない要素にアクセスしようとすると、WebDriver は、DOM でその要素を見つけるまで、最大 n
秒の間再試行します。この単純なアプローチは、多くの場合、スクリプトを確実に動作させるために十分です。
次の図では、WebDriver
が使用可能になるまで [Button 2] のクリックを再試行しています。

明示的な待機とは、コードの実行を続行する前に特定の条件が発生する必要があるコードです。要素が使用可能になるのを待機するために time.sleep()
の使用を検討することもありますが、これは避ける必要があります。代わりに、「5.1. Explicit Waits」で指定されている WebDriver API メソッドを使用します。これによって、想定される条件を待機できます。
次の図では、明示的な待機によって、ボタンが使用可能なとき(条件)にのみ Button 2(アクション)をクリックすることを規定しています。
