联系客户支持
我们提供全天候 24/7的英语、俄语、中文、越南语和葡萄牙语支持。填写下面的表格,我们将尽快与您联系!
最受欢迎主题: Multilogin X, Multilogin 6,
-
-
报错:Failed to get IP data/代理连接测试失败 “Javax.crypto.badpaddingexception: pad block corrupted”报错 打开软件显示“正在更新.....加载组件(1) of 2 components” 如何解决浏览器配置文件无法打开的问题? 报错:浏览器指纹合成失败 Windows用户名中使用了非拉丁字符,导致连接错误。 找不到Mimic/Stealthfox浏览器执行文件 点击关闭后,浏览器配置文件显示“Error”状态在Multilogin 6 常见错误与解决方法在Multilogin 6 切换到黑夜模式时出现JavaScript报错
Puppeteer浏览器自动化在Multilogin 6
由 Yana Shcharbina 编写
最近一次更新时间:July 27th, 2024
Puppeteer是一个Node.js库,它为基于Chromium的浏览器进行自动化操作提供了有效而强大的工具,它通过Chrome开发者工具提供高级别API。比如,您可以在指纹得到掩蔽和保护的Mimic浏览器内,创建一个网络爬虫来搜索和采集数据。
分配Multilogin 6端口
您需要提前定义软件端口以使用Puppeteer自动化。以下是定义端口的方法:
- 前往C:\Users\%username%\.multiloginapp.com路径并打开app.properies文件
- 添加此语句:
multiloginapp.port=[PORT_NUMBER]
端口号的范围为10000 ~ 49151
- 保存app.properties文件
定义好端口后,您就可以通过这个端口使用自动化功能了。
更多相关信息,您可以查阅此指导文章。
如何使用
步骤一
请确保您已经安装Node.js和npm包管理器(node package manager)。您可以从Node.js的官网下载Node.js和npm包(最新版的Node.js已经自动包括了npm包)。另外,您也可以用yarn做为Node.js包新管理工具。
您可以在终端检查您的Node.js和npm版本,运行代码为:
nodejs -v || node -v && npm -v
步骤二
在当前目录下创建一个新的npm项目。
npm init -y
这个指令会新建package.json文件,-y参数帮助您跳过新建文件过程中的问卷部分,并创建一个有默认设置的项目。
步骤三
把Puppeteer-core安装在项目目录中。
npm install puppeteer-core@21.3.2 —save
请注意,每个Chromium版本都有与之对应的Puppeteer-core。您可以查看我们的版本发行笔记了解Mimic内核更新记录。更多相关信息您可以查看Puppeteer文档。
步骤四
创建您的.js自动化脚本。您可以参考以下代码示范:
const puppeteer = require('puppeteer-core');
const http = require('http');
async function startProfile(){
let profileId = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
let mlaPort = 35000;
/*Send GET request to start the browser profile by profileId.
Returns web socket as response which should be passed to puppeteer.connect*/
http.get(`http://127.0.0.1:${mlaPort}/api/v1/profile/start?automation=true&puppeteer=true&profileId=${profileId}`, (resp) => {
let data = '';
let ws = '';
//Receive response data by chunks
resp.on('data', (chunk) => {
data += chunk;
});
/*The whole response data has been received. Handling JSON Parse errors,
verifying if ws is an object and contains the 'value' parameter.*/
resp.on('end', () => {
let ws;
try {
ws = JSON.parse(data);
} catch(err) {
console.log(err);
}
if (typeof ws === 'object' && ws.hasOwnProperty('value')) {
console.log(`Browser websocket endpoint: ${ws.value}`);
run(ws.value);
}
});
}).on("error", (err) => {
console.log(err.message);
});
}
async function run(ws) {
try{
//Connecting Puppeteer with Mimic instance and performing simple automation.
const browser = await puppeteer.connect({browserWSEndpoint: ws, defaultViewport:null});
const page = await browser.newPage();
await page.goto('https://multilogin.com');
await page.screenshot({ path: `/home/${process.env.USER}/Desktop/multiloginScreenshot.png` });
await browser.close();
} catch(err){
console.log(err.message);
}
}
startProfile();
步骤五
在您的设备终端运行.js文件,以执行您的自动化操作脚本。
nodejs example.js