簡體   English   中英

如何使用 selenium 在彈出的 cookie 上單擊“接受所有 cookie”?

[英]How do i use selenium to click “Accept All Cookies” on a cookie pop up?

我目前正在嘗試在 Python 中學習 selenium,但在單擊“接受所有 Cookie”按鈕時遇到問題。

我在用:

Python v3.9

鉻 v87

這是我試圖抓取的 HTML 頁面

https://www.currys.co.uk/gbuk/tv-and-home-entertainment/televisions/televisions/samsung-ue75tu7020kxxu-75-smart-4k-ultra-hd-hdr-led-tv-10213562-pdt。 html

這是我目前的代碼

    # Selenium Tutorial #1
    
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.action_chains import ActionChains
    
    import time
    
    driver = webdriver.Chrome(r"C:\Users\Ste1337\Desktop\chromedriver\chromedriver.exe")
    
    driver.get("https://www.currys.co.uk/gbuk/tv-and-home-entertainment/televisions/televisions/samsung-ue75tu7020kxxu-75-smart-4k-ultra-hd-hdr-led-tv-10213562-pdt.html")
    
    #search = driver.find_element_by_id(ContentPlaceHolder1_NotifyBtn)
    
    driver.implicitly_wait(10)
    
    
    link = driver.find_element_by_id("onetrust-accept-btn-handler")
    link.click
    
    try:
        element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "onetrust-accept-btn-handler"))
        )
        element.click
    except:
        driver.quit()

單擊后缺少“()”。 嘗試這個:

    link = driver.find_element_by_id("onetrust-accept-btn-handler")
    link.click()

只需等待並單擊。

wait = WebDriverWait(driver, 10)
driver.get("https://www.currys.co.uk/gbuk/tv-and-home-entertainment/televisions/televisions/samsung-ue75tu7020kxxu-75-smart-4k-ultra-hd-hdr-led-tv-10213562-pdt.html")
wait.until(EC.element_to_be_clickable((By.ID, "onetrust-accept-btn-handler"))).click()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM