【问题标题】:Change download directory using Robot Framework使用 Robot Framework 更改下载目录
【发布时间】:2021-04-13 22:38:14
【问题描述】:

我是自动化和机器人框架的新手(3 天经验 x)) 我目前能够访问网页并单击“下载”按钮。 当我这样做时,下载会在默认目录中启动(显然是下载...)

我想在我的桌面上创建一个文件夹并默认下载其中的每个文件。我能怎么做?我需要什么?

【问题讨论】:

标签: selenium selenium-webdriver robotframework downloadfile


【解决方案1】:

您必须覆盖浏览器的默认下载目录。这可以通过配置 Web 驱动程序来完成。 SeleniumLibrary 的 Open Browser 关键字为此目的为 Firefox (ff_profile_dir) 和 Chrome (options) 提供了单独的参数。

此外,您必须根据您使用的特定浏览器启用自动保存和其他浏览器配置。

请注意,在 Windows 上工作时,需要特别注意传递的路径:

请注意,如果选项字符串包含反斜杠,例如 a Windows 操作系统路径,反斜杠需要在 Robot Framework 中转义 数据和 Python 端。这意味着必须写入单个反斜杠 使用四个反斜杠字符。例如,Windows 路径: "C:\path\to\profile" 必须写为"C:\\\\path\\\to\\\\profile"。 另一种编写反斜杠的方法是使用 Python 原始字符串和示例 写:r"C:\\path\\to\\profile"

这是一个使用 Firefox 和 SeleniumLibrary 4.3.0 下载 source of Robot Framework from GitHub 的示例。

*** Settings ***
Library    SeleniumLibrary

*** Test Case ***
Download Robot Framework into predefined folder
    Open Browser    https://github.com/robotframework/robotframework    Firefox   
    ...    ff_profile_dir=set_preference("browser.download.folderList", 2);set_preference("browser.download.dir", r"C:\\Users\\myuser\\Documents\\Robotframework\\SO_material");set_preference("browser.helperApps.neverAsk.saveToDisk", "application/zip")
    
    Click Element    //summary[contains(.,'Code')]
    Click Element    //a[contains(.,'Download ZIP')]
    [Teardown]    Close Browser

浏览器参数设置:

  1. browser.download.folderList 设置为 2 其中

    2 表示自定义(参见:browser.download.dir)文件夹

    来源:Download Manager preferences

  2. browser.download.dir 是自定义文件夹的路径。确保按照文档中的说明传递路径。我在这个例子中使用了 Python 原始字符串。

  3. browser.helperApps.neverAsk.saveToDiskapplication/zip,这意味着任何下载的 zip 都将被保存而不提示下载位置。

您可以在此 Stack Overflow 答案中找到指向 Chrome 和 Firefox 参数列表的链接:List of Firefox and Chrome arguments/preferences

【讨论】:

    猜你喜欢
    • 2021-11-23
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 2022-06-12
    • 2017-06-06
    • 2018-01-09
    • 2021-09-01
    • 2018-10-20
    相关资源
    最近更新 更多