Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

seleniumを使った画面外アラートクリックでのエラー

解決したいこと

chromedriver+seleniumでスクレイピングを行いたいのですがcookieの許可を求めるポップアップダイアログがクリックできずそれ以降に進めません。状況に関する画像を添付させていただきますので何方か分かる方教えてください。よろしくお願いします。

発生している問題・エラー

エラーは生じないのですが動作しないまま実行完了となってしまいます。
スクリーンショット (39).png

上記のようなポップアップダイアログです。

該当するソースコード

from selenium import webdriver
from time import  sleep
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.common.action_chains import ActionChains

driver=webdriver.Chrome()

driver.get('https://www.fifa.com/fifa-world-ranking/ranking-table/men/')
button = driver.find_element_by_id("onetrust-accept-btn-handler")
actions = ActionChains(driver)
actions.move_to_element(button)
actions.click()
actions.perform()

スクリーンショット (37).png

0

1Answer

該当サイトを少し見てみましたが、Cookie使用の同意を求めるポップアップが少し遅れて表示されるようになっているのですね。

おそらく、Seleniumが操作しようとした際には、対象要素がまだ表示されていない状態であると思われます。
コンソールをよく見ると何らのエラーメッセージが表示されていると思います。

単純には、time.sleep(10)のような処理を入れて、操作可能になるのを待てば良いと思いますが、
Seleniumには、待機処理のための方法が用意されていますので、以下等を参考にして実装されても良いと思います。

1Like

Comments

  1. @shunpei535

    Questioner

    おかげで解決することが出来ました!有難うございます。参考サイトまで張っていただき感謝です。

Your answer might help someone💌