selenium 被服务器检测,解决办法
- 方法1:加参数
# 直接selenium启动,在浏览器 F12界面 console,输入 window.navigator.webdriver, 返回true
# 手动打开浏览器,在浏览器 F12界面 console,输入 window.navigator.webdriver, 返回 undefined
# 以上检测方法的参考性,待参考
from selenium import webdriver
from selenium.webdriver import ChromeOptions
option = ChromeOptions() #实例化一个ChromeOptions对象
option.add_experimental_option('excludeSwitches', ['enable-automation']) #以键值对的形式加入参数
driver = webdriver.Chrome(executable_path='./chromedriver.exe',options=option) #在调用浏览器驱动时传入option参数就能实现undefined
# 以上方法确实能将 输入 window.navigator.webdriver, 返回 undefined
-
方法2:屏蔽JS参数
参考文章:如何突破网站对selenium的屏蔽 -
使用pyppeteer模块
基于js操作chromium,可以绕过selenium 的 chromrdriver驱动值的特征值检测
安装pyppeteer模块
待补充…