现在反爬虫基本可以反 ChromeDriver 了, 检查以下位点,市面上的爬虫基本扑街 window _Selenium_IDE_Recorder,_selenium,callSelenium document __driver_evaluate,__webdriver_evaluate,__selenium_evaluate,__fxdriver_evaluate,__driver_unwrapped,__webdriver_unwrapped,__selenium_unwrapped,__fxdriver_unwrapped,__webdriver_script_func,__webdriver_script_fn document.documentElement.getAttribute ["selenium", "webdriver", "driver"] window callPhantom,_phantom
请问有没有老哥有办法解决这个问题
1
quatix OP 补充一下,说的是在 ChromeDriver 的情况下
|
2
locoz 2018-02-19 00:44:25 +08:00 via Android
那就直接不走模拟浏览器这条路呗
|
3
binux 2018-02-19 01:29:08 +08:00 via Android
Isolated context
|
6
binux 2018-02-20 01:47:17 +08:00
@quatix #5 Chrome 支持 isolated world 机制,可以分割 page context 和注入脚本的 context,这样页面脚本就不能读取到任何注入的变量,从而不能通过这些判断了。
你需要一个支持 isolated context 机制的实现,例如 https://electronjs.org/docs/api/browser-window 的 contextIsolation 选项。 |
8
ysc3839 2018-02-20 18:45:07 +08:00 via Android
直接用 CEF 就好了,可以做出几乎和真的浏览器一样的环境。
|
11
2624687861 2018-02-21 17:34:12 +08:00 via Android
我刚看到个帖子,怎么反反反爬虫软件(逃)
|
12
quatix OP @2624687861 哇 老哥有 link 吗
|