我想阻止创建新选项卡。通过 window.open 方法单击“新选项卡按钮”。 有什么方法可以监听新选项卡的创建。我的意思不是“targetcreated”事件,因为选项卡已经创建。也许有类似 event.preventDefault 的东西?
下面是一个非常简单的代码,可以关闭每个新选项卡,但我认为它非常丑陋,我想改进它。
browser.on('targetcreated', (target) => {
function closeNewTabs(target) {
let targetBrowser = target.browser();
targetBrowser.pages().then(data => {
if (data.length>1) {
for (let i = 0; i < data.length; i++) {
if (i>1) data[i].close();
}
}
})
}
})
最佳答案
一个可能的解决方法是听 targetcreated事件然后 page.close
这将类似于
browser.on("targetcreated", async (target)=>{
const page=await target.page();
if(page) page.close();
});
它不会阻止创建新选项卡,但应在打开后立即关闭它们
关于javascript - 如何防止在 puppeteer 的 chromium 实例中创建新选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51551728/