色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

Selenium沒有點(diǎn)擊cookie接受按鈕

我試著點(diǎn)擊cookie accept按鈕,但是selenium沒有點(diǎn)擊它。有人能幫我嗎?

driver = webdriver.Chrome(path)
driver.get('https://www.bisnode.de/upik/')
try:
    buttonlink = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable((By.ID, "onetrust-accept-btn-handler"))
    )
    buttonlink.click()
    time.sleep(10)
except:
    driver.quit()

編輯: 有人提到我使用一個(gè)存在兩次的ID,所以我應(yīng)該用另一個(gè)css選擇器。所以我更換了線路,但是它仍然不工作。

buttonlink = WebDriverWait(driver, 10).until(
            EC.element_to_be_clickable((By.CSS_SELECTOR, "button#onetrust-accept-btn-handler"))
        )
        buttonlink.click()

它打開了chrome瀏覽器和網(wǎng)頁(yè),但隨后就退出了。沒有錯(cuò)誤輸出。

這里有2個(gè)元素具有onetrust-accept-btn-handler ID,因此您必須更改您的定位器。 試試這個(gè)css_selector按鈕#onetrust-accept-btn-handler

我花了30分鐘來解決這個(gè)問題。

問題是,在執(zhí)行相應(yīng)的腳本之前,按鈕是不可點(diǎn)擊的。 因此,這里需要等待,直到父div的樣式變?yōu)?底部:1英尺

解決方案:

import time

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


url = 'https://www.bisnode.de/upik/'
driver = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver')
driver.get(url)
wait = WebDriverWait(driver, 15)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div[style='bottom: 1rem'] button[id*='onetrust-accept-btn-handler']")))
driver.find_element_by_css_selector("div[style='bottom: 1rem'] button[id*='onetrust-accept-btn-handler']").click()
time.sleep(10)
driver.quit()

我不得不更改CSS_SELECTOR:

WebDriverWait(browser, 5).until(EC.presence_of_element_located((By.ID, "onetrust-banner-sdk")))

time.sleep(5)

acceptbutton = browser.find_element(By.CSS_SELECTOR,"button#onetrust-accept-btn-handler")
acceptbutton.click()