使用WebDriver和Chrome自动在新标签页中下载文件

时间:2018-08-16 10:58:57

标签: selenium-webdriver automation webdriver automated-tests chrome-options

背景

  • 我正在使用Selenium WebDriver(C#)进行Web应用程序的自动化测试
  • 应用程序需要一些文件(在客户端的后台运行),用户登录后即会自动下载该文件

以前的应用行为:

  • 用户登录
  • 主页显示在浏览器中
  • 在相同的浏览器选项卡中自动开始下载所需文件(当然,chrome会根据用户偏好设置询问要保存文件的位置,或自动保存文件)

我的解决方案:

  • 使用 ChromeOptions 设置默认的下载位置,并禁用所有弹出窗口(下载会自动开始,没有弹出窗口,仅保存文件)

新的应用行为:

  • 用户登录
  • 主页显示在浏览器中
  • 会自动开始下载所需文件,但会在“新的chrome”标签中(并根据用户偏好自动保存或chrome询问存储文件的位置) 对于手动用户而言,没有太大区别。

使用新应用程序后,我的自动化解决方案无法正常工作-显示Chrome的“保存文件”弹出窗口。据我了解,因为下载是在新标签页中启动的,该标签页未配置为自动保存文件(新标签页不知道chromeOptions,因为实际上它是浏览器的新实例)。

我的理解正确吗?我的问题有解决方法吗?也许可以选择将ChromeOptions也传递给新标签页?

0 个答案:

没有答案