【发布时间】:2021-04-11 15:42:44
【问题描述】:
我是使用 selenium 模块的新手。我从一些简单的教程开始,直到我得到一个弹出窗口。
因为弹出窗口没有 x,我无法应用我在网上找到的其他建议。 How to close pop up window in Selenium
但是我尝试检查弹出窗口的代码,我可以看到我可能有几个选项,通过引用链接文本“接受 Cookie”来关闭,或者通过按钮 ID“onetrust-”关闭接受-btn-handler"
这是我目前的代码。
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://www.reed.co.uk/jobs/senior-insight-analyst/42347955")
driver.implicitly_wait(10)
link = driver.find_element_by_link_text("onetrust-accept-btn-handler")
link.click()
尝试
link = driver.find_element_by_link_text("onetrust-accept-btn-handler")
和
link = driver.find_element_by_link_text("接受 cookie")
导致错误
NoSuchElementException:消息:没有这样的元素:无法找到元素:{"method":"link text","selector":"onetrust-accept-btn-handler"}
或
NoSuchElementException:消息:没有这样的元素:无法找到元素:{"method":"link text","selector":"Accept cookies"}
我想知道如果按钮 ID 已知,是否有比链接文本更好的命令,或者我是否因为它是一个弹出窗口而错过了流程中的另一个步骤?任何帮助表示赞赏。谢谢。
【问题讨论】:
-
它不是链接文本,它的按钮标签很明显带有id,所以你为什么不试试
driver.find_element_by _xpath("//button[@id='onetrust-accept-btn-handler']")? -
谢谢开发者。我相信这个建议已经推动了我认为的一步。我现在有一个不同的错误来研究执行此操作。我现在得到 WebDriverException: Message: chrome not reachable。我会尝试研究。
标签: selenium selenium-webdriver selenium-chromedriver popup popupwindow