首页 > 解决方案 > 如何使用 puppeteer.connect() 方法加载扩展

问题描述

我使用gologin服务。gologin 是一种浏览器反检测服务,我可以在其中伪造我的浏览器身份/可以管理浏览器指纹。所以我可以在不被发现的情况下自由地进行网络抓取。

在这种情况下,我希望能够使用 puppeteer.connect() 方法将我的扩展加载到该浏览器中。

这是代码:


const puppeteer = require('puppeteer-core');
const GoLogin = require('gologin');

(async () => {
  const GL = new GoLogin({
    token: 'yU0token',
    profile_id: 'yU0Pr0f1leiD',
  });

  const { status, wsUrl } = await GL.start();
  const browser = await puppeteer.connect({
    browserWSEndpoint: wsUrl.toString(),
    ignoreHTTPSErrors: true,
  });

  const page = await browser.newPage();
  await page.goto('https://myip.link/mini');
  console.log(await page.content());
  await browser.close();
  await GL.stop();
})();



I don't know how. please help me, so i can load my extension using this puppeteer.connect()

标签: puppeteer

解决方案


假设您希望将 chrome-extension 加载到您的 puppeteer 浏览器中。

  1. 查找 chrome-extension 工作目录Chrome 在哪里存储扩展程序?
  2. 通过转到找到您的分机 IDchrome://extensions/
  3. 示例代码:

const puppeteer = require('puppeteer-core');

const MY_EXTENSION_PATH = '~/Library/Application Support/Google/Chrome/Default/Extensions/cdockenadnadldjbbgcallicgledbeoc/0.3.38_0'
async function loadExtension() {
  return puppeteer.launch({
    headless: 0,
    args: [
      `--disable-extensions-except=${MY_EXTENSION_PATH}`,
      `--load-extension=${MY_EXTENSION_PATH}`,
    ],
  });
}


推荐阅读