puppeteer javascript自动化示例

本示例基于以下版本参数提供

软件名称 版本号
nodejs v22.0.0
puppeteer-core ^24.28.0

启动浏览器并访问官网

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

// 替换成您的API秘钥
const API_KEY = 'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD';

var WS_ENDPOINT = '';
async function controlBrowserViaWS() {
  try {
    // 步骤1:连接到已运行的浏览器实例
    const browser = await puppeteer.connect({
      browserWSEndpoint: WS_ENDPOINT, // 核心:传入WS地址
      defaultViewport: null
    });

    console.log('✅ 成功连接到浏览器');
    console.log('当前浏览器标签页数量:', (await browser.pages()).length);

    // 步骤2:操作浏览器(示例:新建标签页并访问网页)
    const pages = await browser.pages();
    const page = pages[0]
    await page.goto('https://www.abcfinger.com'); // 访问目标网页
    
  } catch (error) {
    console.error('❌ 连接/操作失败:', error.message);
  }
}

// 启动浏览器
const envId = 9999999999999; // 替换成您的环境编号
axios.get(`http://127.0.0.1:45186/browser/start?id=${envId}`, {
  headers: {
    'key': API_KEY 
  }
  }).then(async (res) => {
    const reponse = res.data

    if (reponse.code == 0) { //接口调用成功
      // 你的 DevTools WebSocket 地址
      WS_ENDPOINT = reponse.data.ws.puppeteer;

      // 执行函数
      controlBrowserViaWS();
    } else { // 接口调用异常
      console.log(reponse);
    }
  })