はじめに
こんにちは、エンジニアのkeitaMaxです。
今日はPythonとSeleniumでスクレイピングをしたいた時の話に、画面が表示されるまで待ちたい時の話です。
内容
画面が表示される前に文字列などを探してしまうとエラーになってしまいます。
その時は以下のようにWebDriverWaitを入れるといいです。
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.XPATH, "//div[@class='button']")))
element.click()
こうすると表示されるまで10秒待ってくれるので、エラーにならずにスクレイピングができます。
sleep(10)
を入れてもいいかもしれませんが、こちらは時間経過で本当に表示されているかの保証がないため、WebDriverWaitを使った方が確実かなと思います。
おわりに
この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。
最後まで読んでいただきありがとうございました!
参考