【问题标题】:How to pass the RGPD popup / iframe with Selenium (Python)?如何使用 Selenium(Python)传递 RGPD 弹出窗口/iframe?
【发布时间】:2022-01-13 12:18:17
【问题描述】:

好的,尝试在网站 lefigaro.fr 上使用 Selenium,但即使在切换到框架之后,Selenium 也找不到与 RGPD 弹出窗口相关的类。 :/

我只是在寻找一种可靠的方法来关闭它。

是这样的:

from selenium import webdriver
WINDOW_SIZE = "1920,1080"
ADRESSE = 'https://www.lefigaro.fr/'

driver = webdriver.Firefox() #the chrome version was even worse, geckodriver a the root
driver.get(ADRESSE)

elt = driver.find_element_by_class_name("sc-18sn7k8-1") #error
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
elt = driver.find_element_by_class_name("sc-18sn7k8-1") #error

【问题讨论】:

    标签: python selenium frame


    【解决方案1】:

    您可以通过索引切换到 iframe。

    似乎弹出窗口是页面上唯一的 iframe,所以也许这会起作用:

    driver.switch_to.frame(0) # 或者 (1)

    编辑:

    页面加载时似乎已经在 iframe 中。

    先做driver.switch_to.default_content()

    那么看来你想要的iframe是(3):

    driver.switch_to.frame(3)
    

    希望这行得通。

    嗯,实际上,不完全……我会花更多时间在这上面。

    【讨论】:

    • 已经试过了,都得到了“NoSuchElementException”
    • 看我的编辑,我想我明白了。
    • 好的,谢谢,我通过以下方式处理了它:driver.switch_to.default_content()driver.switch_to.frame(2)elt = driver.find_element_by_class_name("button__skip")elt.click()
    • 很高兴我能帮上忙。如果对您有帮助,请接受我的回答:-)
    • 嗯,这对有 1 名声望的人有帮助...下次我会知道的更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 2021-03-11
    相关资源
    最近更新 更多