解决Edge浏览器对selenium的检测问题
网上全都是一些chrome浏览器的解决方法,这里我写下edge的
实际上是根据控制台的window.navigator.webdriver这条指令来进行验证的,如果是被测试软件控制,就会返回true。正常浏览器会返回false
正常情况下在浏览器控制台输入window.navigator.webdriver会返回false,而通过selenium来操作浏览器的情况下会返回true。
在Edge中,可以使用
from msedge.selenium_tools import EdgeOptions
from msedge.selenium_tools import Edge
edge_options = EdgeOptions()
edge_options.use_chromium = True
edge_options.add_argument('--disable-blink-features=AutomationControlled')
web = Edge(options=edge_options)
注意导包导入的是msedge.selenium_tools 下的edge。和 from selenium.webdriver import Edge有什么区别我也不太懂,有知道大佬的请在评论区浏览。具体使用好像没发现区别
这时候我们可以让他开启谷歌内核,然后在前面加上这样一段代码就完美解决。
这时候再在控制台输入 window.navigator.webdriver 就会返回false了。