como forçar o puppeteer ao invés de abrir uma nova abacontinue na mesma
Para fazer com que o Puppeteer continue na mesma aba em vez de abrir uma nova, você pode usar a função target.createCDPSession() para se comunicar com o navegador por meio do Protocolo de Depuração do Chrome (CDP). Em seguida, você pode usar o método CDPSession.send() para enviar comandos específicos para manipular a aba atual.
Aqui está um exemplo de código que mostra como forçar o Puppeteer a continuar na mesma aba:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
const client = await page.target().createCDPSession();
await client.send('Target.activateTarget', {targetId: page.target()._targetId});
await page.goto('https://www.example.com');
// Continue navegando na mesma aba
await page.goto('https://www.google.com');
await browser.close();
})();
Neste exemplo, após abrir uma nova página, usamos client.send() para enviar o comando Target.activateTarget e especificamos o targetId da página atual. Isso faz com que o Puppeteer se comunique com o navegador e force a continuação na mesma aba. Em seguida, você pode usar page.goto() para navegar para o URL desejado na mesma aba.
Lembre-se de que nem todos os comandos do CDP são suportados pelo Puppeteer, então você pode precisar consultar a documentação do CDP para encontrar os comandos específicos que deseja usar
原文地址: https://www.cveoy.top/t/topic/ioEP 著作权归作者所有。请勿转载和采集!