第一种:
selenium 通过js会被检测出来,按照其它设置:
from selenium.webdriver import Chrome
from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
driver = Chrome(options=option)
设置 excludeSwitches 后window.navigator.webdriver true
不管用!!!
Chrome 79以后版本Selenium中window.navigator.webdriver 值无法更改的解决方法
option= ChromeOptions()
option.add_experimental_option("excludeSwitches", ["enable-automation"])
option.add_experimental_option('useAutomationExtension', False)
driver = Chrome(executable_path=driver_path,options=option)
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
driver.execute_cdp_cmd("Network.enable", {})
driver.execute_cdp_cmd("Network.setExtraHTTPHeaders", {"headers": {"User-Agent": "browser1"}})
参考:
第二种:
设置中增加
options.add_argument("--disable-blink-features=AutomationControlled")
效果:
没有配置前
配置后: