1
spotfg 2019-08-04 16:51:47 +08:00
selenium 爬虫也是可以被检测到的,你可以用 mitmproxy 修改一下 driver
|
2
Abbeyok 2019-08-04 16:53:54 +08:00 via Android
firefox 可以解决
|
3
asus10tu OP @spotfg 我在代码里开启了开发者模式 options.add_experimental_option('excludeSwitches', ['enable-automation'])
理论上检测 driver 之类的都跟正常浏览器一样了 |
5
DanielGuo 2019-08-04 17:20:05 +08:00
没有遇到过你的问题,我用通过 java 或者 python 调用 selenium 做爬虫的时候,和人手工点击完全一致
|
8
spotfg 2019-08-04 17:52:12 +08:00
那你可以试试打开 chrome 远程调试模式。实在不行,那还是乖乖用拦截修改吧
|
9
Leigg 2019-08-04 17:52:31 +08:00 via Android
不要用 click 方法,用 execute_script 方法传入 js 代码点击元素
|
12
spotfg 2019-08-04 19:10:31 +08:00
@asus10tu 不是,是为了反爬,这样可以隐藏 selenium 指纹信息。在 cmd 下输入
chrome.exe --remote-debugging-port=9222 --user-data-dir="绝对路径" 然后添加 chrome_options.add_experimental_option('debuggerAddress','127.0.0.1:9222') |
14
asus10tu OP @spotfg 原来如此,学到了。不过明明这样方法确实是把指纹都隐藏掉了,却还是不行,而且跟没开开发者模式的效果一样,实在不明白。
|
15
lawler 2019-08-05 00:30:21 +08:00
猜测是没查询到鼠标轨迹吧。
|
16
xxxy 2019-08-05 07:47:48 +08:00 via Android
最近在用 puppeteer 写爬虫,不妨发个链接我试试
|
17
LUXiaobo 2019-08-07 17:33:14 +08:00
网站会检测 chrome 的一些属性,比如 navigator.webdriver
|