如何使用 Selenium 在 Stackoverflow 主页中接受 cookie
How to accept cookies within Stackoverflow homepage using Selenium
我正在尝试使用 Selenium 接受 cookie,但找不到接受按钮。我对Selenium不熟悉,也不知道如何调试。例如,如果我尝试接受来自 whosebug.com.
的 cookie
这是我的代码:
driver = webdriver.Chrome("chromedriver")
driver.get("https://whosebug.com")
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(@class, 'flex--item')]/div[text()='Accept all cookies']"))).click()
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "flex--item s-btn s-btn__filled js-cookie-settings"))).click()
无论选择什么选项(Xpath 或 CSS),都找不到按钮。如何调试我的 Xpath 或 CSS 选择器?解决方案是什么?
到click()
元素接受所有cookies'你需要诱导WebDriverWait for the and you can use either of the following :
使用 XPATH 和 normalize-space()
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[normalize-space()='Accept all cookies']"))).click()
使用 XPATH 和 contains()
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(., 'Accept all cookies')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
我正在尝试使用 Selenium 接受 cookie,但找不到接受按钮。我对Selenium不熟悉,也不知道如何调试。例如,如果我尝试接受来自 whosebug.com.
的 cookie这是我的代码:
driver = webdriver.Chrome("chromedriver")
driver.get("https://whosebug.com")
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(@class, 'flex--item')]/div[text()='Accept all cookies']"))).click()
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "flex--item s-btn s-btn__filled js-cookie-settings"))).click()
无论选择什么选项(Xpath 或 CSS),都找不到按钮。如何调试我的 Xpath 或 CSS 选择器?解决方案是什么?
到click()
元素接受所有cookies'你需要诱导WebDriverWait for the
使用 XPATH 和
normalize-space()
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[normalize-space()='Accept all cookies']"))).click()
使用 XPATH 和
contains()
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(., 'Accept all cookies')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC