我想防止从puppeteer的Chrome实例中打开开发工具。 不幸的是,发出的页面属于“其他”类型,因此无法通过page.close方法关闭。
这是我的问题,是否可以通过开发协议或类似的方法来实现?
browser.on('targetcreated', (target) => {
if (target['_targetInfo']['type'] === 'other') {
target.page().then(currPage => {
currPage.close();
});
}
});
听说过--disable-dev-tools标志,但我认为它不再起作用。
答案 0 :(得分:1)
这没有记录,但对我有用:
const browser = await puppeteer.launch({
args: ['--devtools-flags=disable'],
defaultViewport: { width: 1280, height: 900 }
});
const page = await browser.newPage();
await page.goto('https://google.com');
答案 1 :(得分:0)
您可以将puppeteer.launch()
中的devtools
选项设置为false
,以禁止Puppeteer为每个选项卡自动打开DevTools面板。
const browser = await puppeteer.launch({
devtools: false,
});
答案 2 :(得分:0)
这对我有用。禁用DOM加载时页面上的所有间隔。
const browser = await puppeteer.launch({ignoreHTTPSErrors: true, args:['--no-sandbox', '--single-process', '--start-maximized', '--headless', '--window-size=1920,1080', '--disable-gpu'], defaultViewport: { width: 1280, height: 900 }});
const page = await browser.newPage();
await page.evaluateOnNewDocument(() => {
window.addEventListener('DOMContentLoaded', () => (function(w){w = w || window; var i = w.setInterval(function(){},100000); while(i>=0) { w.clearInterval(i--); }})(/*window*/));
});
await page.goto('https://blah.com');