python - Firefox 配置文件无法在 ubuntu 22.04 中加载

标签 python selenium-chromedriver robotframework selenium-firefoxdriver

我正在学习使用机器人框架创建自动化脚本。我使用的是 Ubuntu 22.04 操作系统。我想要自动化网络 www.carvago.com进行汽车搜索。我导入了 RPA.Browser 库,并创建了“搜索汽车”关键字,其中有“打开可用浏览器”的步骤。当我运行脚本时,显示错误“无法加载您的 Firefox 配置文件”。任何人都可以帮我解决这个问题吗?在这里我附上错误的屏幕截图和我的代码。谢谢。 Error 1 Error 2

    *** 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

最佳答案

这对我有用

1.下载更新的geckodriver https://github.com/mozilla/geckodriver/releases

tar -xvf geckodriver-v0.31.0-linux64.tar.gz

chmod geckodriver
sudo mv ./geckodriver /usr/local/bin
/usr/local/bin$ geckodriver -V

geckodriver 0.31.0 (b617178ef491 2022-04-06 11:57 +0000)

  • 从 webdrivermanager 安装时,webdrivermanager 会以某种方式安装 v0.29(旧版本)
  • 下载 firefox(直接从 mozilla.org) - 在 Ubuntu 上安装在沙盒快照中 这将提示 - “配置文件无法加载/找到”错误
  • firefox-105.0.3.tar.bz2

    解压缩并添加符号链接(symbolic link),以便从命令行使用此下载的版本

    sudo ln -s  /home/akiss/Downloads/firefox/firefox /usr/local/bin/firefox
    

    关于python - Firefox 配置文件无法在 ubuntu 22.04 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72851562/

    相关文章:

    python - 在 Python 中启动一个外部程序并立即返回

    java - Java 中的 iText 库与 Node 中的 Puppeteer 用于从 HTML 生成 Pdf

    python-3.x - 如何使用selenium python自动扫描二维码

    python - 元素不可见异常 : Message: element not interactable in Robot Framework

    testing - "Choose File"不适用于 Firefox 但适用于 Chrome

    python - Jupyter Notebook - 如何在主屏幕上隐藏除笔记本之外的所有内容?

    python - 在 Debian 上使用 Python 编写 Bencode?

    python - 比较两个 CSV 文件之间的值并写入第三个 CSV 文件

    python - 通过 Python 使用 Selenium 进行多处理时,Chrome 在几个小时后崩溃

    python - 如何在这个可嵌套的 For 循环中实现 Robot Framework 风格的变量?