联系客户支持
我们提供全天候 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报错
Selenium浏览器自动化示例
由 Villa Wu 编写
最近一次更新时间:December 16th, 2024
如何运行?
完成如下步骤来实现脚本操控浏览器驱动:
- 使用Multilogin X API登录
- 启动将Selenium定义为所选自动化类型的配置文件
- 检索正在运行的配置文件所使用的端口
- 使用获取到的端口在本地主机启动Selenium浏览器驱动
- 使用驱动操控浏览器行动
- 在5秒钟内停止浏览器配置文件
开始之前……
- 开启配置文件需要连接Agent,请确保Agent已连接。
- 安装以下Python库:
- requests
- selenium
- 在示例脚本中的如下变量输入您的值:
运行脚本
默认情况下,下面的脚本适用于 Mimic。要将其用于 Stealthfox,请将下面一行中的 options=ChromiumOptions()
替换为 options=Options()
:
driver = webdriver.Remote(command_executor=f'{LOCALHOST}:{selenium_port}', options=ChromiumOptions())
脚本示例
import requests
import hashlib
import time
from selenium import webdriver
from selenium.webdriver.chromium.options import ChromiumOptions
from selenium.webdriver.firefox.options import Options
MLX_BASE = "https://api.multilogin.com"
MLX_LAUNCHER = "https://launcher.mlx.yt:45001/api/v1"
MLX_LAUNCHER_V2 = (
"https://launcher.mlx.yt:45001/api/v2" # recommended for launching profiles
)
LOCALHOST = "http://127.0.0.1"
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 signin() -> 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
def start_profile() -> webdriver:
r = requests.get(
f"{MLX_LAUNCHER_V2}/profile/f/{FOLDER_ID}/p/{PROFILE_ID}/start?automation_type=selenium",
headers=HEADERS,
)
response = r.json()
if r.status_code != 200:
print(f"\nError while starting profile: {r.text}\n")
else:
print(f"\nProfile {PROFILE_ID} started.\n")
selenium_port = response["data"]["port"]
driver = webdriver.Remote(
command_executor=f"{LOCALHOST}:{selenium_port}", options=ChromiumOptions()
)
# For Stealthfox profiles use: options=Options()
# For Mimic profiles use: options=ChromiumOptions()
return driver
def stop_profile() -> None:
r = requests.get(f"{MLX_LAUNCHER}/profile/stop/p/{PROFILE_ID}", headers=HEADERS)
if r.status_code != 200:
print(f"\nError while stopping profile: {r.text}\n")
else:
print(f"\nProfile {PROFILE_ID} stopped.\n")
token = signin()
HEADERS.update({"Authorization": f"Bearer {token}"})
driver = start_profile()
driver.get("https://multilogin.com/")
time.sleep(5)
stop_profile()