求助:使用 pyppeteer 执行 JS 仍然被检测到 WebDriver

2019-06-12 10:57:23 +08:00
 KevinBu

执行的 JS:

js1 = '''() =>{ Object.defineProperties(navigator,{ webdriver:{ get: () => false } }) }'''

js2 = '''() => { alert ( window.navigator.webdriver ) }'''

弹出的结果的确为 false

可是在登陆时仍然被网站检测到了,验证码一直无法通过,正常浏览器访问则可以通过

用检测工具也的确检测到了 WebDriver:

我在网上搜到的资料,别人貌似都成功了,请问我该如何做?

2960 次点击
所在节点    Python
4 条回复
KevinBu
2019-06-12 11:10:52 +08:00
刚刚解决了😂

因为有页面的跳转,我将执行 JS 的语句放到页面跳转后执行就可以了

所以要记得如果有页面跳转的话之前执行的 JS 就不生效了😂
yejianmail
2019-06-12 11:33:14 +08:00
加个 page 回调就可以了
Memento
2019-07-29 10:21:51 +08:00
@KevinBu 是放在 goto 之后执行吗? 我的还是被检测到了, 你用的 chrome/driver 是什么版本的呀?
KevinBu
2019-07-30 09:23:09 +08:00
@Memento 是在 goto 后执行

75.0.3770.142/75.0.3770.140

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/573088

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX