Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否存在无法通过Selenium自动化的页面?_Python_Selenium - Fatal编程技术网

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

Python 是否存在无法通过Selenium自动化的页面?,python,selenium,Python,Selenium,上面的代码不起作用。要查看高级变量引用的位置,可以转到“粘贴”chrome://settings在浏览器中(仅当您使用chrome时有效),向下滚动至底部,您将看到“高级”切换 该切换甚至有一个id“advancedToggle”,但我似乎无法通过任何方法(id、class、css、xpath)在该页面上找到任何内容 是否有可能某些页面只是抗自动化(如果有) 这是一个恰当的术语)?如果是的话,有没有办法分辨哪一页 不能在上自动执行吗 我把最后一个问题放在了一个块引号中,因为这个问题被标记为重复的

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

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

是否有可能某些页面只是抗自动化(如果有) 这是一个恰当的术语)?如果是的话,有没有办法分辨哪一页 不能在上自动执行吗


我把最后一个问题放在了一个块引号中,因为这个问题被标记为重复的,但是尽管这个例子出现在其他地方,我认为块中没有这个问题的答案…

您必须使用
/deep/
来通过
影子根元素:

from selenium import webdriver

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

advanced = driver.find_element_by_css_selector("#advancedToggle > span")
advanced.click()
代码如下所示:

body /deep/ #advancedToggle > span
阴影根元素如下所示:

body /deep/ #advancedToggle > span


您可以通过按F12键找到它,然后切换到元素选项卡。然后,在DOM中,您将找到
阴影根

谢谢!但是我如何知道页面是否有
影子根元素?在源代码页面中,我似乎看不到
影子根。对不起,如果这个问题看起来很简单!我添加了一个屏幕截图和说明。注意:并非每个页面都有阴影根元素。我无法使用Ctrl+F工具找到它,因此感谢您的屏幕截图!