Selenium find_element クラス名が一致するのにエラーが起きる

開発者ツールでの確認は、Selenium実行中に確認していますか?

find_element(By.CLASS_NAME, "クラス名")を実装中に存在するクラス名を指定したのにも関わらずエラーになりました。

発想が間違っています。お書きのエラーメッセージが出たということは、「その時点でそのHTMLにそのクラスの要素は無かった」が事実です。
(参考:driver.find_element(~)の直前に、print(driver.page_source) を入れて、それで表示されるHTMLを確認しましょう。その要素は無いはずです)

なので、「別のタイミングでブラウザでページを見るとその要素があるのに、Seleniumで処理した時はそのタイミングでなぜその要素がないのか?」が調べるべき事です。
よくあるケースは、「まだその要素が出来ていない(しばらく待てば出来る)」です。
他には、
・その前の部分で間違っていて、期待しているのと違う内容のページになっている
・サーバー側でSeleniumを検知して違うページを出している
など。

コメントを投稿

0 コメント