如何排查 WebDriver 连接问题
尝试使用 Multilogin 浏览器配置文件自动化 Selenium,但您的脚本无法连接?首先,检查配置文件是否成功启动,并确保您的脚本使用的是正确的连接端口。
➡️ 在您的脚本中,找到“Start Browser Profile”请求 → 检查 automation_type=selenium → 从响应中获取 data.port → 使用 webdriver.Remote 进行连接。
Multilogin 使用 Remote WebDriver 将 Selenium 连接到您正在运行的 Mimic 浏览器配置文件。如果您使用 webdriver.Chrome(),那么 Selenium 将启动一个单独的浏览器,而不是连接到您的 Multilogin 配置文件。
检查您的浏览器配置文件启动
在排查 Selenium 之前,请确保 Multilogin 可以启动您的浏览器配置文件。如果配置文件未启动,您的脚本就没有连接的对象。
检查以下细节:
- Multilogin 正在运行:确保桌面应用程序已打开
- 配置文件 ID 正确:检查您使用的是正确的文件夹 ID 和配置文件 ID
- API 令牌有效:确保您的请求包含有效的令牌
- 端点正确:使用“Start Browser Profile”请求
-
已启用自动化:设置
automation_type=selenium
以下是启动请求的示例:
GET https://launcher.mlx.yt:45001/api/v2/profile/f/{folder_id}/p/{profile_id}/start?automation_type=selenium&headless_mode=false将 {folder_id} 和 {profile_id} 替换为您的实际 ID。
当请求成功时,Multilogin 启动您的 Mimic 浏览器配置文件,并返回其连接详细信息,包括 data.port。
将 Selenium 连接到您的 Mimic 浏览器配置文件
一旦您的配置文件正在运行,Selenium 需要连接到同一个浏览器会话。
使用 webdriver.Remote 和 Multilogin 返回的端口。 由于 Mimic 基于 Chromium,因此您还需要 ChromiumOptions()。
以下是在 Python 中的连接示例:
from selenium import webdriverfrom selenium.webdriver.chromium.options import ChromiumOptionsdriver = webdriver.Remote( command_executor=f"http://127.0.0.1:{port}", options=ChromiumOptions())在这里, port 是您启动配置文件时返回的 data.port 的值。
需要注意几点:
- 使用最新的端口:在重新启动配置文件时可能会更改,因此请不要将其硬编码到您的脚本中
- 等待配置文件启动:仅在 API 确认启动请求成功后连接
- 保持配置文件运行: Selenium 需要一个活动的浏览器会话来连接
您无需使用另一台计算机来使用 Remote WebDriver。连接在本地通过 127.0.0.1 进行。
您也无需启动单独的 ChromeDriver 或手动匹配其版本与 Mimic。 Multilogin 启动浏览器会话,并为 Selenium 提供连接端口。
检查您的防火墙和杀毒软件设置
如果您的浏览器配置文件启动,但 Selenium 仍然无法连接,您的防火墙或杀毒软件可能阻止了本地连接。
以下是您可以尝试的操作:
- 检查您的防火墙或杀毒软件是否阻止了本地连接
-
确保允许您的脚本与 Multilogin 之间的连接通过
127.0.0.1和返回的端口 - 再次运行您的脚本,查看连接是否有效
您无需关闭安全软件。检查其设置,并在需要时添加例外。
检查其他可能的连接问题
仍然出现错误?还有一些其他因素可能阻止您的脚本连接:
- API 错误:检查响应状态和正文以获取有关出错的详细信息
- 身份验证:确保您的 API 令牌未过期
- 配置文件访问:检查您的 工作台角色 是否允许您启动配置文件
- Multilogin 日志:查找可能解释浏览器无法启动或连接的错误
如果您不确定您的脚本是否正确设置,请将其与 Selenium 自动化示例 进行比较。
您还可以查看 Multilogin API 文档 以获取所需的请求参数和响应详细信息。