robotframework - 机器人框架 - 如何为 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 仍在将文件下载到默认目录。我需要在代码中带来什么更改?
解决方案
这是我使用的一段代码:
${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 浏览器启用下载文件?
推荐阅读
- c# - 如何在不为每个项目创建 ContextMenuStrip 的情况下找到我右键单击的项目
- bash - 为什么要使用 set errexit 而不是 errtrace
- android-fragments - 在 UI 测试中的片段内显示对话框(对话框片段)
- php - 为什么按空间爆炸在某些空间字符串中不起作用
- java - 当 VaultState 在 Corda 中更新时如何获取通知?
- android - 即使 popstacking/backpressed,Viewpager 页面也不会保持原样
- javascript - 数组长度的 setInterval
- c - 如何按 DESCENDING 顺序打印二叉树搜索?
- html - 设计一个带有文本的文本框
- python - 查询 datetime64[ns] 和 Timestamp