资讯专栏INFORMATION COLUMN

如何避免Puppeteer被前端JS检测

isaced / 1484人阅读

摘要:工具和资料群高级爬虫作者自建群,欢迎加入中国商标网加密接口仅作演示作者收集的爬虫相关工具和资料前言这两天开始看,发现居然也能被某数的前端检测出来的区找了找,原来启动的里面,是有属性的,搞什么搞么,老外真是做那啥还要立牌坊方案区里

工具和资料

QQ群 - Javascript高级爬虫 - 作者自建群,欢迎加入!

中国商标网加密接口 - 仅作演示

awesome-java-crawler - 作者收集的爬虫相关工具和资料

前言

这两天开始看puppeteer,发现居然也能被某数的前端js检测出来!?
github的issue区找了找,原来puppeteer启动的chrome里面,是有navigator.webdriver属性的,搞什么搞么,老外真是做那啥还要立牌坊……

方案1

issue区里看到的解决方案:

await this.page.evaluateOnNewDocument(() => {
         Object.defineProperty(navigator, "webdriver", {
         get: () => undefined,
    });
 }

但是说实话这个还是有点问题的,因为用"webdriver" in navigator还是能检测出来。

方案2

想找找到底哪个环节把"webdriver"属性加上的,但是文本搜索发现puppeteer源码中并没有……
后来chrome中用chrome:version看了下命令行启动参数,结果发现了这个:"--enable-automation"……
一看就有问题,为了确认特意搜了一下这个命令行参数的说明:

--enable-automation: Inform users that their browser is being controlled by an automated test.

妈蛋纯粹是立牌坊用的,其它毛用没有……

确认了就可以干掉它了,启动chrome时加个忽略默认参数即可:

const browser = await puppeteer.launch({ignoreDefaultArgs: ["--enable-automation"]});

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44093.html

相关文章

  • 如何避免Puppeteer前端JS检测

    摘要:工具和资料群高级爬虫作者自建群,欢迎加入中国商标网加密接口仅作演示作者收集的爬虫相关工具和资料前言这两天开始看,发现居然也能被某数的前端检测出来的区找了找,原来启动的里面,是有属性的,搞什么搞么,老外真是做那啥还要立牌坊方案区里 showImg(https://segmentfault.com/img/remote/1460000018765904); 工具和资料 QQ群 - Ja...

    keelii 评论0 收藏0
  • Puppeteer前端自动化测试实践

    摘要:本篇内容将记录并介绍使用进行自动化网页测试,并依靠约定来避免反复修改测试用例的方案。总结根据以上的功能划分,我们很好的将一整个应用拆分成各个测试单元进行单元测试。 本篇内容将记录并介绍使用Puppeteer进行自动化网页测试,并依靠约定来避免反复修改测试用例的方案。主要解决页面众多时,修改代码导致的牵连错误无法被发现的运行时问题。文章首发于个人博客。对前端感兴趣希望一起讨论的可以加我v...

    Jensen 评论0 收藏0
  • 前端清单第 27 期:React Patent License 回复,Shopify WebVR 购

    摘要:新闻热点国内国外,前端最新动态就开源许可证风波进行回复数周前,基金会决定禁止旗下项目使用,因为其在标准的许可证之外添加了专利声明此举引发了社区的广泛讨论,希望能够更新其开源许可证。 showImg(https://segmentfault.com/img/remote/1460000010777089); 前端每周清单第 27 期:React Patent License 回复,Sho...

    jeffrey_up 评论0 收藏0
  • 小程序测试方案初探

    摘要:前言年月号微信小程序正式上线,小程序不需要安装就能使用,依托微信强大的生态环境,能做到很多所不能做的事情。当然更希望的是小程序官方能给出相应的单元测试方案吧。 前言 2017年1月9号微信小程序正式上线,小程序不需要安装就能使用,依托微信强大的生态环境,能做到很多H5所不能做的事情。从微信小程序发布这段时间,陆陆续续开发了不少小程序相关的项目,总结了一些通用性的组件,但是对于小程序如何...

    church 评论0 收藏0
  • 1.前端自动化测试 之 视觉测试

    摘要:视觉感知测试视觉回归测试为了解决上面提到的各种问题,视觉感知测试孕育而生。第三种方式,无法进行视觉感知测试结果只能进行视觉回归测试和上一版的继续比较差异。 前端自动化测试 之 视觉测试 showImg(https://segmentfault.com/img/remote/1460000014720180); 前端测试分类 showImg(https://segmentfault.co...

    VioletJack 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<