console 中查看 window.navigator.webdriver 命令是否为 true。
最近在 window.navigator.webdriver 测试的时候发现没有用自动化测试工具时显示的是false
如果更贴近实际的话可以将新版Chrome的undefined修改为false。
有反seleuinm机制的会通过 window.navigator.webdriver 值去判断你是否用了自动化测试工具
解决:
=========================================================================
旧版Chrome
from selenium.webdriver import Chrome
from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
driver = Chrome(options=option)
=========================================================================
新版Chrome
from selenium.webdriver import Chrome
driver = Chrome()
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => false
})
"""
})
driver.get('https://passport.bilibili.com')
=========================================================================