O Puppeteer expõe as preferências do Firefox por meio de extraPrefsFirefox. Em uma aplicação com uma instalação compatível do Firefox já configurada para o Puppeteer:

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch({
  browser: 'firefox',
  extraPrefsFirefox: {
    'network.proxy.type': 1,
    'network.proxy.http': 'proxy.example',
    'network.proxy.http_port': 8080,
    'network.proxy.ssl': 'proxy.example',
    'network.proxy.ssl_port': 8080,
  },
});
try {
  const page = await browser.newPage();
  await page.goto('https://api.example/');
} finally {
  await browser.close();
}

O tipo 1 seleciona a configuração manual de proxy. Defina o nome do host e a porta numérica separadamente. Para a navegação permitida em sites públicos, a lista de proxies HTTP fornece candidatos para esses campos de escuta HTTP. O Firefox usa os nomes de preferência ssl para a rota de destino HTTPS; inventar nomes network.proxy.https não configura as mesmas definições.

Especifique ambas as rotas quando tanto a navegação HTTP quanto a HTTPS devem usar o intermediário. Isso evita depender de uma ação na caixa de diálogo de configurações para copiar uma rota para a outra. O endpoint mostrado é um ouvinte de proxy HTTP simples; o nome da preferência ssl descreve sua categoria de destino.

Essas preferências configuram o tráfego de rede do Firefox. O argumento --proxy-server do Chromium pertence a outra interface de navegador. O Puppeteer atual seleciona o Firefox com browser: 'firefox'; exemplos mais antigos que usam product devem ser alinhados à versão do Puppeteer que definiu essa opção.

Artigos relacionados