Python+Selenium+WebDriverでスクレイピングするときに、「ばつ(X)ボタン」を押してもダイアログが消えない場合があり、リトライで対処する方法を説明する。
本来であれば、クリックする「ばつ(X)ボタン」Element(要素)の指定が間違ったのか?、それとも別の原因があるのか?を調べるべきとは思うが、今回はリトライして対処した。
動作環境:
Python 3.10.4(これまでは3.8.3を使っていた)
OS:Windows10-Pro [Version 10.0.19044.1889]
ブラウザ:Chrome 105.0.5195.54(Official Build) (64 ビット)
ライブラリ:Selenium 4.3.3(Selenium 3とはパラメータの渡し方が異なる)
サイト:Google Maps(https://maps.google.co.jp/)
(1)GoogleMapsで「会社の詳細情報」を表示中の画面である。
(2)上記画面の右上の「ばつ(X)ボタン」を押して、「会社の詳細情報」画面が表示されなくなった場合の画面である。
(3)「会社の詳細情報」画面の右上の「ばつ(X)ボタン」を押して、「ばつ(X)ボタン」が非表示にならない場合に、リトライをするソースである。
もしかしたら、ばつ(X)ボタンをクリックするタイミングが悪いのかもしれないので、28行目の前に「element_to_be_clickable」を使ってクリック可能になるのを待てばよいのはないかと思ったので、後日試してみたいと思う。
- 投稿タグ
- click, Python, Selenium, WebDriver, WebDriverWait