我无法使用 Selenium Python 单击按钮

扎眼的阳光 python 208

原文标题I can’t click a button with Selenium Python

我的目标是在访问页面时禁用 cookie https://www.icribis.com/it/(即单击“Rifiuta”按钮)。我的代码不起作用,是:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

url = 'https://www.icribis.com/it/'

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 20)
driver.get(url)

time.sleep(5)

wait.until(EC.visibility_of_element_located((By.XPATH, '//*[@id="uc-center-container"]/div[2]/div/div[1]/div/div[2]/button[2]'))).click()

time.sleep(5)

driver.close()

我通过检查网页上的元素找到了 XPath。

我该如何纠正?

原文链接:https://stackoverflow.com//questions/71555452/i-cant-click-a-button-with-selenium-python

回复

我来回复
  • cruisepandey的头像
    cruisepandey 评论

    它在影子根中。

    你将不得不使用execute_script

    url = 'https://www.icribis.com/it/'
    
    driver = webdriver.Chrome()
    wait = WebDriverWait(driver, 20)
    driver.get(url)
    
    time.sleep(5)
    
    cookie_dsbl_btn = driver.execute_script('return  document.querySelector("#usercentrics-root").shadowRoot.querySelector("#uc-center-container > div:nth-child(2) div > button:nth-child(3)")')
    cookie_dsbl_btn.click()
    
    time.sleep(5)
    
    2年前 0条评论