gpt4 book ai didi

python - Selenium:无法单击 iframe 中的按钮

转载 作者:行者123 更新时间:2023-12-02 19:13:01 25 4
gpt4 key购买 nike

我用 selenium 加载了一个页面:http://www.legorafi.fr/接下来,我尝试单击“Tout Accepter”按钮,但即使使用 css 选择器,它也不起作用。这是为了 cookies 。

我试过这样的:

driver.find_element_by_css_selector('').click()

这是带有文本“Tout Accepter”的蓝色按钮

enter image description here

我该怎么做?

最佳答案

Tout Accepter 元素在 <iframe> 中所以你必须:

  • 诱导 WebDriverWait使所需的框架可用并切换到它

  • 诱导 WebDriverWait使所需的元素可点击

  • 您可以使用以下任一项 Locator Strategies :

  • 使用 CSS_SELECTOR :

    driver.get('http://www.legorafi.fr/')
    WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"div#appconsent>iframe")))
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.button--filled>span.baseText"))).click()
  • 使用 XPATH :

    driver.get('http://www.legorafi.fr/')
    WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//div[@id='appconsent']/iframe")))
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(@class, 'button--filled')]/span[contains(@class, 'baseText')]"))).click()
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
  • 浏览器快照:

legorafi


引用

您可以在以下位置找到一些相关讨论:

关于python - Selenium:无法单击 iframe 中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64015863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com