联系客户支持
我们提供全天候 24/7的英语、俄语、中文、越南语和葡萄牙语支持。填写下面的表格,我们将尽快与您联系!
最受欢迎主题: Multilogin X, Multilogin 6, 订阅 & 支付,
-
Multilogin 可以在您的设备上运行吗?查看我们的系统要求 Multilogin X支持和资源:如何快速获得帮助 如何购买 Multilogin X 订阅方案 如何将Multilogin 6订阅与Multilogin X同步 如何将配置文件从其他应用程序转移到Multilogin X 如何使用Multilogin X的面板界面 Multilogin X三步入门指南 如何在Multilogin X中连接Agent 如何在Multilogin X中创建并启动您的第一个配置文件 保持隐蔽:使用Multilogin X确保多账号安全的4个关键步骤 如何在Multilogin X中预热配置文件 使用Multilogin X常见问题解答Multilogin代理:常见问题解答 如何使用Multilogin代理:指南 如何选择正确的代理类型 如何在Multilogin X中使用HTTP和 SOCKS 代理 如何在 4G/5G 连接状态下使用Multilogin 如何使用 NodeMaven 设置Multilogin 如何在Multilogin中使用自定义 DNS 代理和 IP 屏蔽常见问题解答 如何测试代理 如何发送日志给支持人员 如何修复“ERR_CONNECTION_RESET”报错 如何修复“配置文件无法启动”报错 如何修复“代理数据错误”报错 如何修复配置文件启动或代理连接问题 如何修复“ERR_TIMED_OUT”报错 如何修复“ERR_CONNECTION_CLOSED”报错 如何避免使用代理时遇到 IP 泄漏如何修复配置文件数据丢失问题 如何修复Multilogin的启动问题 我的应用程序或配置文件运行缓慢:如何解决性能问题 如何修复在macOS上运行Multilogin出现的问题 如何修复Agent连接问题 如何修复配置文件启动或代理连接问题 帐户被封禁:我该怎么办? 如何在受限制地区解决连接问题 如何解锁被锁定的配置文件 浏览器内核更新卡住了?试试这些解决方案 为什么 cookie 导入不起作用? 为什么 cookies 不会让您自动登录到目标帐户? 如何在Multilogin配置文件中启用网络摄像头 如何查回丢失的配置文件 如何修复Multilogin中的网站加载问题 如何修复Linux上的Mimic启动问题 如何修复配置文件指纹不一致的问题 如何修复Windows上StealthFox窗口分辨率较小问题如何修复“无法获取配置文件数据”报错 如何修复“访问拒绝”报错 如何修复“您的Windows系统无法执行启动Stealthfox浏览器所需的 Win API调用”报错 如何修复“Aw,Snap!STATUS_BREAKPOINT”报错 如何修复“Aw, Snap!STATUS_ACCESS_VIOLATION”报错 如何修复“ERR_CONNECTION_CLOSED”报错 如何修复“ERR_TIMED_OUT”报错 如何修复“请求过多”报错 如何修复“ERR_CONNECTION_RESET”报错 如何修复“某些设置已重置”报错 如何修复“配置文件无法启动”报错 如何修复“已达到订阅方案限制”报错 如何修复“代理数据错误”报错 如何修复“受订阅限制”报错 如何避免使用代理时遇到 IP 泄漏
-
如何修复Multilogin 6 中的代理连接问题 如何修复“Javax.crypto […] pad block 损坏”报错 如何修复停滞的“正在更新...正在加载 2 个组件中的 [3]”状态 如何修复Multilogin 6 中的配置文件启动问题 如何修复“指纹合成失败”报错 如何修复“未找到Mimic / Stealthfox可执行文件”报错 切换到黑夜模式时出现JavaScript报错 为什么 cookie 导入不起作用? 为什么 cookies 不会让您自动登录到目标帐户? 如何修复“无法邀请现有用户”报错 如何发送日志给支持人员 如何编辑 app.properties 文件 如何重新安装应用程序组件 如何重新安装Multilogin 6 如何修复Multilogin 6 中的Android配置文件问题 如何修复Mimic中的扩展程序数据问题 如何修复卡在“Active”状态的配置文件 如何避免使用代理时遇到 IP 泄漏 如何修复“未创建/更新配置文件”报错 如何修复“正在下载Mimic浏览器”错误 如何修复“已达到应用程序请求上限”报错 如何修复“无效缓冲区参数”报错 如何修复“无法保存配置文件: User-Agent为空”报错
Playwright自动化示例

由 Villa Wu 编写
最近一次更新时间:December 16th, 2024
Playwright是一个开源自动化库,旨在测试 Web 应用程序并自动与 Web 浏览器交互。它提供对浏览器操作的全面控制,包括导航、表单填写、元素点击和从网页提取数据。
在本文中,我们将提供一个简单的脚本,启动浏览器配置文件并将其与Playwright连接起来。
您可以使用Playwright为您的网络爬虫自动Mimic浏览器配置文件。请注意, Multilogin X中尚未提供Stealthfox的Playwright 。
在你开始之前
JavaScript
- 从官方网站下载Node.js并安装
- 确保 Node.js 和 npm(Node 包管理器)已正确安装:
node -v
npm -v
- 创建一个项目目录,然后运行此命令来初始化一个新的 Node.js 项目并创建一个
package.json
文件:
npm init -y
- 安装Playwright作为你的项目的依赖项:
npm install playwright
- 安装Axios和MD5库:
npm install axios
npm install md5
Python
- 安装以下 Python 库:
- 要求
- 剧作家
- 安装必要的浏览器二进制文件:
playwright install
运行脚本
JavaScript
- 确保代理已连接,因为它使得配置文件启动成为可能
- 确保Playwright与当前的Mimic核心版本兼容 - 查看Playwright和Mimic发行说明
- 使用自动化代码运行
.js
文件
脚本示例
const { chromium } = require('playwright');
const md5 = require ('md5');
const axios = require('axios');
const HEADERS = {
"Content-Type": "application/json",
"Accept": "application/json",
};
const acc_info = {
// Insert your account information in both variables below
"email": "",
"password": md5("")
};
async function get_token() {
const signIn_URL = "https://api.multilogin.com/user/signin";
try {
const response = await axios.post(signIn_URL, acc_info, { headers: HEADERS });
return response.data.data.token;
} catch (error) {
console.log(error.message);
console.log("Response data:", error.response.data);
return false;
}
};
// Insert the Folder ID and the Profile ID below
const folder_id = "";
const profile_id = "";
async function start_browserProfile(){
const token = await get_token();
if (!token) return;
// Update HEADERS with bearer token retrived from the get_token function
HEADERS.Authorization = 'Bearer ' + token;
// Launch a profile defining "Playwright" as automation type
const profileLaunch_URL = `https://launcher.mlx.yt:45001/api/v2/profile/f/${folder_id}/p/${profile_id}/start?automation_type=playwright&headless_mode=false`;
try {
const response = await axios.get(profileLaunch_URL, { headers: HEADERS });
const browserURL = `http://127.0.0.1:${response.data.data.port}`;
// if you prefer to connect with browserWSEndpoint, try to get the webSocketDebuggerUrl by following request
// const {data : {webSocketDebuggerUrl}} = await axios.get(`${browserURL}/json/version`)
const browser = await chromium.connectOverCDP(browserURL,{timeout:10000});
const context = browser.contexts()[0];
const page = await context.newPage();
await page.goto("https://multilogin.com/");
await page.screenshot({path: "example.png"});
await page.close();
} catch (error) {
console.log("Error:", error.message);
if (error.response) {
console.log("Response data:", error.response.data);
}
}
};
start_browserProfile();
Python
- 确保代理已连接,因为它使得配置文件启动成为可能
- 确保Playwright与当前的Mimic核心版本兼容 - 查看Playwright和Mimic发行说明
- 使用自动化代码运行
.py
文件
脚本示例
import hashlib
import requests
import time
from playwright.sync_api import sync_playwright
MLX_BASE = "https://api.multilogin.com"
HEADERS = {"Accept": "application/json", "Content-Type": "application/json"}
# TODO: Insert your account information in both variables below
USERNAME = ""
PASSWORD = ""
# TODO: Insert the Folder ID and the Profile ID below
FOLDER_ID = ""
PROFILE_ID = ""
def sign_in() -> str:
payload = {
"email": USERNAME,
"password": hashlib.md5(PASSWORD.encode()).hexdigest(),
}
r = requests.post(f"{MLX_BASE}/user/signin", json=payload)
if r.status_code != 200:
print(f"\nError during login: {r.text}\n")
else:
response = r.json()["data"]
token = response["token"]
return token
HEADERS["Authorization"] = f"Bearer {sign_in()}"
def start_profile():
with sync_playwright() as pw:
resp = requests.get(
f"https://launcher.mlx.yt:45001/api/v2/profile/f/{FOLDER_ID}/p/{PROFILE_ID}/start?automation_type=playwright&headless_mode=false",
headers=HEADERS)
resp_json = resp.json()
if resp.status_code != 200:
print(f"\nError while starting profile: {resp.text}\n")
return
else:
print(f"\nProfile {PROFILE_ID} started.\n")
browserPort = resp_json["data"]["port"]
browserURL = f"http://127.0.0.1:{browserPort}"
# if you prefer to connect with browserWSEndpoint, try to get the webSocketDebuggerUrl by following request
# response = requests.get(f'{browserURL}/json/version')
# browser_ws_endpoint = response.json()["webSocketDebuggerUrl"]
browser = pw.chromium.connect_over_cdp(endpoint_url=browserURL)
context = browser.contexts[0]
page = context.new_page()
page.goto('https://www.multilogin.com')
time.sleep(5)
page.screenshot(path='example.png')
page.close()
start_profile()