options = webdriver.ChromeOptions()
设置无头浏览器
options.add_argument('--headless')
解决秒关闭
#解决浏览器秒关闭操作
options.add_experimental_option("detach", True)
1、用户正常访问该值为false。使用selenium时该值为true。
解决方法:去除参数
#selenium反爬操作
options.add_experimental_option('excludeSwitches',['enable-automation'])
options.add_experimental_option('useAutomationExtension', False)
#隐藏特征内容
options.add_argument("--disable-blink-features=AutomationControlled")
#给定一个Chrome对象
browser = webdriver.Chrome(options=options)
##加载json代码,修改浏览器配置属性,混淆浏览器
browser.execute_cdp_cmd(
'Page.addScriptToEvaluateOnNewDocument',
{'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'}
)
2、cookie验证
解决方法:设置缓存路径,每次启动selenium加载对应缓存
#使用已经有缓存信息的浏览器运行程序
option.add_argument('--user-data-dir=C:\\Users\\用户名\\AppData\\Local\\Google\\Chrome\\User Data')
option.add_argument('--profile-directory=Default') browser = WebChrome(options=option)