Ubuntu22.04运行Robot Framework报Firefox Profile无法加载如何解决
问题说明
- 运行环境:Ubuntu 22.04,使用Robot Framework开发自动化脚本,目标实现www.carvago.com网站的汽车搜索流程自动化
- 已完成工作:导入
RPA.Browser.Selenium库,编写了包含浏览器启动步骤的Search Car自定义关键字 - 故障现象:脚本运行时弹出Your Firefox Profile cannot be loaded(Firefox配置文件无法加载)错误
- 报错截图:


- 完整脚本代码:
*** Settings *** Documentation Template robot main suite. Library Collections Library MyLibrary Library RPA.Browser.Selenium Library RPA.Excel.Files Resource keywords.robot Variables MyVariables.py *** Variables *** ${Browser} Chrome ${SiteUrl} https://carvago.com/ *** Keywords *** Create Excel Report Create Workbook /home/maaofficial/Documents/test_report_2.xlsx Save Workbook Read Excel Open Workbook /home/maaofficial/Documents/test_escape_list.xlsx ${list} Read Worksheet header=true Log To Console ${list} Close Workbook FOR ${index} IN @{list} Search Car ${index} END Search Car [Arguments] ${index} Go To ${SiteUrl} Maximize Browser Window Wait Until Element Is Visible xpath:/html/body/div[1]/div/main/div[1]/div[1]/div[1]/div/div[1]/form/div[1]/div[1]/div/div/div/div/div[1]/div[2] Click Element xpath:/html/body/div[1]/div/main/div[1]/div[1]/div[1]/div/div[1]/form/div[1]/div[1]/div/div/div/div/div[1]/div[2] Press Keys NONE ${index}[make] Sleep 333ms Press Keys NONE TAB Click Element xpath:/html/body/div[1]/div/main/div[1]/div[1]/div[1]/div/div[1]/form/div[1]/div[2]/div/div Sleep 500ms Press Keys NONE ${index}[model] Sleep 333ms Press Keys NONE TAB Click Element xpath:/html/body/div[1]/div/main/div[1]/div[1]/div[1]/div/div[1]/form/div[1]/div[3]/div/div/input Sleep 500ms Press Keys NONE ${index}[max_km] Sleep 500ms # Click Minimize Button Click Element xpath:/html/body/div[1]/div/main/div[1]/div[1]/div[1]/div/div[1]/form/div[1]/div[3]/div/div/div[1] Sleep 333ms # Click Button Search Click Element xpath:/html/body/div[1]/div/main/div[1]/div[1]/div[1]/div/div[1]/form/div[2]/div[1]/button # Click Sort by Button Wait Until Element Is Visible xpath:/html/body/div[1]/div/main/div[2]/div[2]/section/div/div[1]/div[2]/div[1]/div[2]/div/div 10s Sleep 3s Click Element xpath:/html/body/div[1]/div/main/div[2]/div[2]/section/div/div[1]/div[2]/div[1]/div[2]/div/div Sleep 3s # Click Lowest Price Click Element xpath:/html/body/div[8]/div/div/div/div[2]/div/div[6]/p Sleep 3s # Get Text Element ${name} Get Text xpath:/html/body/div[1]/div/main/div[2]/div[2]/section/div/div[2]/div[1]/div/a/div/div[2]/h6 Sleep 2s ${total_km} Get Text xpath:/html/body/div[1]/div/main/div[2]/div[2]/section/div/div[2]/div[1]/div/a/div/div[2]/div[1]/div[1]/span[2] Sleep 2s ${seller} Get Text xpath:/html/body/div[1]/div/main/div[2]/div[2]/section/div/div[2]/div[1]/div/a/div/div[2]/div[3]/div[1]/div/div[1]/div/div/span[2] Sleep 2s ${country} Get Text xpath:/html/body/div[1]/div/main/div[2]/div[2]/section/div/div[2]/div[1]/div/a/div/div[2]/div[3]/div[1]/div/div[2]/span Sleep 2s ${fuel} Get Text xpath:/html/body/div[1]/div/main/div[2]/div[2]/section/div/div[2]/div[1]/div/a/div/div[2]/div[1]/div[5]/span[2] Sleep 2s ${transmission} Get Text xpath:/html/body/div[1]/div/main/div[2]/div[2]/section/div/div[2]/div[1]/div/a/div/div[2]/div[1]/div[4]/span[2] Sleep 2s ${price} Get Text xpath:/html/body/div[1]/div/main/div[2]/div[2]/section/div/div[2]/div[1]/div/a/div/div[2]/div[3]/div[2]/div/div[2]/div[2]/div/div[1] Sleep 2s ${car_dict} Create Dictionary ... name=${name} ... total_km=${total_km} ... seller=${seller} ... country=${country} ... fuel=${fuel} ... transmission=${transmission} ... price=${price} Log To Console ${car_dict} Append To Excel ${car_dict} Append To Excel [Arguments] ${car_dict} Open Workbook /home/maaofficial/Documents/test_report.xlsx Append Rows To Worksheet ${car_dict} header=True Save Workbook *** Tasks *** Main Create Excel Report Open Available Browser ${SiteUrl} ${Browser} Read Excel Close Browser
故障原因
脚本中虽然将${Browser}变量设为了Chrome,但Open Available Browser关键字会自动检测系统中可用的浏览器优先启动,出现Firefox相关报错说明自动选择逻辑命中了系统里的Firefox。Ubuntu 22.04默认预装的snap版本Firefox存在沙箱权限隔离,会导致RPA框架调用时无法访问用户配置文件目录,触发配置加载失败错误。
修复方案
按优先级依次尝试:
- 替换浏览器启动关键字,绕开自动选择逻辑
将任务中Open Available Browser ${SiteUrl} ${Browser}替换为明确指定浏览器的启动语句,强制使用Chrome:
附加参数指定了临时配置目录,完全避免加载本地损坏/权限异常的浏览器配置。Open Browser ${SiteUrl} chrome options=add_argument("--user-data-dir=/tmp/rpa_chrome_temp") - 修复本地Firefox权限问题(如果需要保留Firefox作为备用浏览器)
执行终端命令修复snap版Firefox的配置目录所有权:
如果修复后仍报错,直接卸载snap版Firefox,通过apt源安装非沙箱版本即可解决权限问题。sudo chown -R $USER:$USER ~/snap/firefox/common/.mozilla/firefox/ - 校验Chrome运行环境
确保系统安装的Chrome浏览器版本和RPA.Browser.Selenium自动下载的chromedriver版本匹配,如果自动下载驱动失败,手动下载对应大版本的chromedriver放到/usr/bin目录下并赋予可执行权限。
内容的提问来源于stack exchange,提问作者Mokhamad Aulia
相关产品推荐
相关产品推荐

