单击“;接受Cookies”;Python中的Selenium弹出窗口
我一直在尝试用selenium获取这个电子商务网站的一些信息。但是,当我访问网站时,我需要接受cookies才能继续。这只发生在机器人访问网站时,而不是我手动访问网站时。当我尝试通过xpath查找相应的元素时,正如我在手动检查页面时发现的那样,我总是会收到以下错误消息: selenium.common.exceptions.StaleElementReferenceException:消息:stale元素引用:元素未附加到页面文档 我的代码如下所示单击“;接受Cookies”;Python中的Selenium弹出窗口,python,selenium,selenium-webdriver,cookies,Python,Selenium,Selenium Webdriver,Cookies,我一直在尝试用selenium获取这个电子商务网站的一些信息。但是,当我访问网站时,我需要接受cookies才能继续。这只发生在机器人访问网站时,而不是我手动访问网站时。当我尝试通过xpath查找相应的元素时,正如我在手动检查页面时发现的那样,我总是会收到以下错误消息: selenium.common.exceptions.StaleElementReferenceException:消息:stale元素引用:元素未附加到页面文档 我的代码如下所示 import time import pand
import time
import pandas
pip install selenium
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
from selenium.common.exceptions import TimeoutException
from bs4 import BeautifulSoup #pip install beautifulsoup4
PATH = "/Users/Ziye/Desktop/Python/chromedriver"
delay = 15
driver = webdriver.Chrome(PATH)
driver.implicitly_wait(10)
driver.get("https://en.zalando.de/women/?q=michael+michael+kors+taschen")
driver.find_element_by_xpath('//*[@id="uc-btn-accept-banner"]').click()
这是对应于按钮“ok”的HTML。XPATH如上所示
没关系
有人知道我的错误在哪里吗?您应该添加显式等待按钮:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver')
driver.implicitly_wait(10)
driver.get("https://en.zalando.de/women/?q=michael+michael+kors+taschen")
wait = WebDriverWait(driver, 15)
wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="uc-btn-accept-banner"]')))
driver.find_element_by_xpath('//*[@id="uc-btn-accept-banner"]').click()
您的定位器是正确的。
作为css选择器,您可以使用
.uc btn footer container.uc btn.uc btn primary
非常感谢!现在可以了:)