gpt4 book ai didi

python - 是否存在无法通过 Selenium 自动化的页面?

转载 作者:行者123 更新时间:2023-12-01 01:44:25 26 4
gpt4 key购买 nike

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("chrome://settings")

advanced = driver.find_element_by_css_selector("#advancedToggle > span")
advanced.click()

上面的代码不起作用。要查看高级变量引用的位置,您可以在浏览器中粘贴“chrome://settings”(仅当您使用 Chrome 时才有效),然后向下滚动到底部,您可以在其中看到“高级”切换开关。

该切换开关甚至有一个 ID "advancedToggle"但我似乎无法通过任何方法(id、class、css、xpath)在该页面上找到任何内容。

Is it possible that some pages are just automation-resistant (if that's a proper term)? If so, is there any way to tell which pages can't be automated on?

我将最后一个问题放在了 block 引用中,因为这个问题被标记为重复,但是虽然该示例出现在其他地方,但我认为 block 中的问题没有答案。 .

最佳答案

您必须使用 /deep/ 来传递 shadow-root 元素:

body /deep/ #advancedToggle > span

代码如下:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("chrome://settings")

advanced = driver.find_element_by_css_selector("body /deep/ #advancedToggle > span")
advanced.click()

影子根元素如下所示:

img

您可以通过按F12找到它,然后切换到Elements选项卡。然后在 DOM 中您将找到 shadow-root

关于python - 是否存在无法通过 Selenium 自动化的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51553348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com