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