You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用RobotFramework和Selenium打开指定Chrome配置文件:避免崩溃并保留会话

解决ChromeDriver复用已登录配置文件时会话崩溃的问题

核心问题分析

同一个Chrome配置文件无法同时被两个Chrome实例(手动启动+自动化启动)占用,这是会话崩溃的主要原因。此外,Chrome与ChromeDriver版本不匹配、启动参数冲突也会引发这类问题,以下是具体解决步骤:

1. 严格匹配Chrome与ChromeDriver版本

你的Chrome版本为124.0.6367.119,必须下载完全对应版本的ChromeDriver:

  • 验证版本一致性:运行命令 chromedriver --version,输出的版本号需和Chrome完全一致。
  • 若版本不匹配,直接替换为对应版本的ChromeDriver即可。

2. 改用远程调试模式复用已登录会话

这是避免配置文件冲突的最优方案,操作步骤如下:

  • 手动启动Chrome并开启远程调试:右键Chrome快捷方式,在「目标」栏末尾添加参数(注意前面加空格):
    --remote-debugging-port=9222 --user-data-dir="C:\\你的Chrome配置文件路径"
    
    启动Chrome后手动登录目标站点,保持窗口处于打开状态。
  • RobotFramework脚本连接已有会话:
    ${chrome_options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    Call Method    ${chrome_options}    add_experimental_option    debuggerAddress    127.0.0.1:9222
    Open Browser    about:blank    Chrome    options=${chrome_options}
    # 直接操作已登录会话
    Go To    ${你的目标站点URL}
    

3. 调整启动参数避免冲突(直接加载配置文件方案)

如果坚持直接加载配置文件,需确保自动化启动参数与手动启动兼容,添加以下关键参数:

Open Browser    ${TARGET_URL}    Chrome    options=add_argument("--user-data-dir=C:\\你的Chrome配置文件路径")    options=add_argument("--profile-directory=Default")    options=add_argument("--no-first-run")    options=add_argument("--no-default-browser-check")    options=add_experimental_option("excludeSwitches", ["enable-automation"])    options=add_experimental_option("useAutomationExtension", False)

注意:这种方式下,必须关闭所有手动打开的Chrome窗口,再运行自动化脚本,否则会因配置文件被占用崩溃。

4. 排查配置文件权限与路径问题

  • 确保配置文件所在目录的读写权限正常,自动化运行用户(如测试账号)有权访问该目录。
  • 避免配置文件路径包含中文、空格或特殊字符,这类情况可能导致加载失败。

5. 禁用Chrome自动更新

Chrome自动更新会导致版本不匹配,引发会话崩溃:

  • Windows系统:修改注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome,添加DWORD值 AutoUpdateCheckPeriodMinutes,设置为0。

内容的提问来源于stack exchange,提问作者Micheal Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 09:35:09