Puppeteer 通过 extraPrefsFirefox 暴露 Firefox 首选项。在已为 Puppeteer 配置好兼容 Firefox 安装的应用中:

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();
}

类型 1 选择手动代理配置。请分别设置主机名和数字端口。对于获准访问的公开站点,HTTP 代理列表为这些 HTTP 监听字段提供候选。Firefox 对 HTTPS 目标路由使用 ssl 首选项名称;杜撰 network.proxy.https 名称并不会配置相同的设置。

当 HTTP 和 HTTPS 浏览都应经过中间代理时,请同时指定两条路由。这样可以避免依赖设置对话框中的操作把一条路由复制到另一条。所示端点是普通的 HTTP 代理监听器;ssl 首选项名称描述的是它的目标类别。

这些首选项配置 Firefox 的网络流量。Chromium 的 --proxy-server 参数属于另一个浏览器接口。当前 Puppeteer 使用 browser: 'firefox' 选择 Firefox;使用 product 的旧示例应与定义该选项的 Puppeteer 版本相匹配。

相关文章