首页 > Web开发 > 详细

puppeteer去除webdriver标记问题+打包

时间:2021-07-01 00:36:13      阅读:36      评论:0      收藏:0      [点我收藏+]

去除webdriver的正确写法

await page.evaluateOnNewDocument(‘const newProto = navigator.__proto__;delete newProto.webdriver;navigator.__proto__ = newProto;‘);

去除webdriver的错误写法

await page.evaluateOnNewDocument(() => {
            const newProto = navigator.__proto__;
            delete newProto.webdriver;
            navigator.__proto__ = newProto;
        });

两种方法用node xxx.js 命令都可以正常的去除标记,但是如果打包成EXE文件去执行的话,下面这种代码就会出错,虽然可以正常打包,但是在执行的时候就会发现webdriver返回的居然是true,去除标记的代码变成了

 

() => {
            [native code]
        }

  

 

[native code] 意思已经很明确了:是 native 的代码实现的 built-in 函数,而不是 JavaScript 代码

所以写法就要改成第一种写法。

打包用pkg 打包,可以打三个平台的包,最终就一个exe文件,挺方便的。

 

puppeteer去除webdriver标记问题+打包

原文:https://www.cnblogs.com/yangdadaBO/p/14956397.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!