使用Puppeteer时可以关闭devtool状态吗? 因为有些网站可以保护他们的网页不被使用devtool进行检查,所以无法使用Puppeteer访问它。
我打开此网址https://jsbin.com/cecuzeb/edit?js,output以检查devtool状态
const browser = await puppeteer.launch({
headless: false,
devtools: false,
});
const page = await browser.newPage();
await page.goto('https://jsbin.com/cecuzeb/edit?js,output');
有没有办法让这个状态关闭?
答案 0 :(得分:0)
下面的答案是一个理论版本,以防止基于主要问题上提供的jsbin链接使用/./.toString
方法通过正常开发工具检测进行检测。
停止所有页面间隔。由于大多数devtool检测库只是运行间隔检查,我们可以阻止它们。
(function(w){w = w || window; var i = w.setInterval(function(){},100000); while(i>=0) { w.clearInterval(i--); }})(/*window*/);
停止console.clear
,如果没有console.clear
正在运行,那么您在未经您许可的情况下无法清除控制台的问题。也停止打印"%c"或任何其他清算字符。
console.clear = console.log = console.warn = console.error = () => {};