デフォルトは、0が設定されている。上の例では、要素が読み込まれるまで20秒待機している。Webページの読み込むスピードが単純に遅いときは、コードが実行された時点で要素が現れておらず、エラーとなることがある。manipulatedseleniumを使っていれば、このエラーに100%エンカウントしているはず。その時は、implicitly_wait(20)の待機時間を充分な時間を指定して、ページが読み込まれるのを待てばいい。implicitly_waitは基本的に一律の設定である。この処理は何秒待つ、とかの指定はできない。Waitsは複雑な条件を指定して、条件が満たされるまで待機するという設定ができる。ある検索ボタンのhtmlだと思う。id="sch">seleniumの公式ページにものっているし、定番はこれ。IDが"myDynamicElement"の要素が読み込まれるまで待機。"myDynamicElement"))presence_of_element_located以外にも指定できる条件はある。title_istitle_containspresence_of_element_locatedvisibility_of_element_locatedvisibility_ofpresence_of_all_elements_locatedtext_to_be_present_in_elementtext_to_be_present_in_element_valueframe_to_be_available_and_switch_to_itinvisibility_of_element_locatedelement_to_be_clickablestaleness_ofelement_to_be_selectedelement_located_to_be_selectedelement_selection_state_to_beelement_located_selection_state_to_bealert_is_presentまた、By.はID以外も指定できる。IDXPATHLINK_TEXTPARTIAL_LINK_TEXTNAMETAG_NAMECLASS_NAMECSS_SELECTORまとめ大抵のサイトは、非同期技術が使ってあるため、requestsでリクエストをWebサイトに送って、返ってきたレスポンスをbeautifulsoup4で読み込む、という定番のスクレイピング方法では対応できないことが多い。seleniumでも非同期技術を考慮なしに、スクレイピングをしても、とても不安定なコードになってしまう。面倒ではあるが、ある程度は考えて待機時間は設定したほうが、後々のメンテも楽になるので、がんばりましょう。最後にtime.sleep()で待機させてから、スクレイピングをしている方へ。time.sleep()は、要素が読み込まれていようといまいと待機することになるので、時間がもったいないからやめよう。(27)注目記事プロフィール金融系の会社で働くSEが株やPython、その他諸々について書いています。読者になるスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。