首页 > 解决方案 > 机器人框架 - 如何为 Chrome 指定默认下载位置?

问题描述

我正在尝试在 Chrome 中设置默认下载位置。下面提到的是代码:

*** Variables ***
${DOWNLOAD_DIRECTORY}  C:\\robot_framework\\Results
*** Keywords ***
Begin Web Test
    @{list} =  create list  disable-web-security      ignore-certificate-error
    ${args} =   create dictionary  args=${list}         download.default.directory=${DOWNLOAD_DIRECTORY}
    ${desired_caps} =   create dictionary  chromeOptions=${args}
    open browser  about:blank   ${BROWSER}  desired_capabilitis=${desired_caps}
    maximize browser window

执行时,代码运行良好,但 chrome 仍在将文件下载到默认目录。我需要在代码中带来什么更改?

标签: robotframeworkselenium2library

解决方案


这是我使用的一段代码:

${chromeOptions} =    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
${prefs} =    Create Dictionary    download.default_directory=${downloadDir}
Call Method    ${chromeOptions}    add_experimental_option    prefs    ${prefs}
Call Method    ${chromeOptions}    add_argument    --lang\=${browserLocale}
Call Method    ${chromeOptions}    add_argument    --headless
Call Method    ${chromeOptions}    add_argument    --window-size\=1024,768
Call Method    ${chromeOptions}    add_argument    --disable-gpu
${webdriverCreated} =    Run Keyword And Return Status    Create Webdriver    ${browserName}    chrome_options=${chromeOptions}
Run Keyword Unless    ${webdriverCreated}    Create Webdriver    ${browserName}    chrome_options=${chromeOptions}

在无头 Chrome 中运行下载时,我也遇到了一些问题。如果您也遇到这种情况,这里有一个解决方法:如何在机器人框架中使用无头 chrome 浏览器启用下载文件?


推荐阅读