【问题标题】:How to load specific firefox profile using robotframework and Selenium libraries如何使用机器人框架和 Selenium 库加载特定的 Firefox 配置文件
【发布时间】:2018-06-19 21:01:11
【问题描述】:

我正在尝试自动化一些与网站相关的任务,并且我想使用 Robot Framework 中的 Selenium 库加载 Firefox 配置文件(我已经完成了特定设置)。

我在下面写了(其中不包含所有步骤)-

*** Setting ***  
Library    SeleniumLibrary
Library    AutoItLibrary   
Library    Process 

*** Variable ***
${url}=    MY URL HERE
${ff}=    C://Program Files//Mozilla Firefox

***Test Case***    
Load FF profile
   Create WebDriver    Firefox    firefox_profile=${ff}
   Go To    ${url}

上面的代码加载了 Firefox 浏览器,但没有加载我正在寻找的 Firefox 配置文件。我如何告诉 wedriver 启动特定的 Firefox 配置文件?我查看了 Selenium 库中“Create WebDriver”方法中的各种设置,所有这些设置都没有帮助我。

我可以使用下面的 AutoIT 代码启动所需的 Firefox 配置文件 -

$FF = @ProgramFilesDir & "\Mozilla Firefox\firefox.exe"
Run($ff)

【问题讨论】:

    标签: selenium robotframework firefox-profile


    【解决方案1】:

    您提供给Create Webdriver 的配置文件路径看起来像FF 的安装目录——至少在上面的示例中是这样。它必须是 profile 目录的完整路径。

    如果它仍然不适合您,请尝试使用 Open Browser keyword - 它的级别更高,并且有 ff_profile_dir 的参数来说明这种用法。


    autoit 代码适用于您,因为它只是启动 FF 二进制文件,这样做时浏览器会以默认(您的正常)配置文件启动。当 Selenium 启动浏览器实例时,它会创建一个全新的配置文件——因此它不会被您的设置、扩展等“污染”——如果没有通过关键字中的这些参数覆盖的话。

    【讨论】:

      【解决方案2】:

      这对我有用:

      Start_Firefox
          [Arguments]    ${URL}
          ${FF_PROFILE}=    Set Variable    C:\\Your\\path\\to\\profile\\here\\FFprofile
          Open Browser    ${URL}     browser=ff    ff_profile_dir=${FF_PROFILE}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-13
        • 2018-10-23
        • 2018-01-13
        • 2022-09-23
        • 2017-12-02
        • 2016-06-25
        • 1970-01-01
        • 2018-12-20
        相关资源
        最近更新 更多