小编Jak*_*ull的帖子

在 Python 中使用 Selenium 处理“接受 Cookies”弹出窗口

我一直试图用硒来抓取这个房地产网站的一些信息。但是,当我访问该网站时,我需要接受 cookie 才能继续。这仅在机器人访问网站时发生,而不是在我手动执行时发生。当我尝试通过 xpath 或 id 查找相应的元素时,正如我在手动检查页面时找到的那样,我收到以下错误。

selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素:{"method":"xpath","selector":"///*[@id="uc-btn-accept-banner"] "}

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC



PATH = "/usr/bin/chromedriver"
driver = webdriver.Chrome(PATH)

driver.get("https://www.immoweb.be/en/search/house/for-sale?countries=BE&page=1&orderBy=relevance")
driver.find_element_by_xpath('//*[@id="uc-btn-accept-banner"]').click()

Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?为什么我找不到元素?

下面是接受 cookie 弹出窗口的图像。

在此处输入图片说明

这是与“继续浏览”按钮对应的 HTML。XPATH 如上所述。

<button aria-label="Keep browsing" id="uc-btn-accept-banner" class="uc-btn-new  uc-btn-accept">Keep browsing
          <span id="uc-optin-timer-display"></span></button>
Run Code Online (Sandbox Code Playgroud)

python selenium alert selenium-chromedriver selenium-webdriver

15
推荐指数
1
解决办法
2万
查看次数