在使用chromedriver和Selenium进行网络驱动到chrome://settings/content
时,我遇到了一个问题,即使我给出了从chrome dev工具复制的确切xpath或改变了搜索方法,例如也找不到任何元素。改用find_element_by_tag_name()
并寻找更多基本元素,例如<h1>Settings</h1>
元素。
这不是我的搜索方法的问题,因为我可以转到任何其他网页并正确选择元素。
这是Chrome的安全功能,可阻止其设置中的网络驱动或类似功能吗?
Python3.7
Chromedriver
Selenium
-最新版本答案 0 :(得分:2)
它的Shadow-DOM,使用CSS选择器选择/deep/
driver.find_element_by_css_selector('settings-ui /deep/ h1')
# or
driver.find_element_by_css_selector('* /deep/ h1')
答案 1 :(得分:0)
很遗憾,没有允许您访问chrome://
URL方案的权限。
这是一种明确的安全机制,可防止对Chrome设置进行潜在的恶意更改。
如果启用extensions-on-chrome-urls
标志,则可以获取访问权限,但是显然,您不能在不受完全控制的计算机上进行访问。
此外,在Chrome中没有用于操作用户的API。
来源:Here