当前位置: 首页 > 面试题库 >

如何使用watir-webdriver禁用Firefox中的下载窗口?

易成天
2023-03-14
问题内容

我不想处理Firefox或IE中的下载窗口。我想在没有任何下载窗口的情况下自动下载excel文件。我试图为Firefox设置几个配置参数,但是没有用。在我的测试中,我正在尝试下载Excel文件

profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.lastDir'] = 'C:\\Downloads'
profile['browser.download.folderList'] = 2
profile['browser.download.dir'] = 'C:\\Downloads'
profile['download.prompt_for_download'] = false
profile['browser.download.manager.showWhenStarting'] = false
profile['browser.download.manager.addToRecentDocs'] = true

profile['browser.download.manager.useWindow'] = false
profile['browser.download.useDownloadDir'] = true
profile['browser.download.show_plugins_in_list'] = true
profile['browser.download.manager.openDelay'] = 100000
profile['browser.download.animateNotifications'] = false

driver = Watir::Browser.new :firefox, :profile => profile

当我的脚本对下载按钮执行点击操作时,浏览器仍然显示下载窗口

目前,我在Windows-7(64位)上使用Firefox 35.0.1


问题答案:

根据文档,您应该使用browser.helperApps.neverAsk.saveToDisk首选项来实现此目的。值定义为

以逗号分隔的MIME类型列表,可保存到磁盘而无需询问如何使用该文件来打开文件。默认值为空字符串。

我不太擅长Ruby,但可能看起来像

profile["browser.helperApps.neverAsk.saveToDisk"] = "text/plain, application/octet-stream"

只需使用正确的MIME类型。



 类似资料:
  • 问题内容: 我正在试验Firefox的WebDriver,请问是否可以处理“下载”窗口(接受或拒绝传入的下载请求)? 例如,一段简单的代码: 我已经对此进行了一些尝试,但是还没有找到解决方案。我真的很感谢任何提示。 非常感谢,-V 问题答案: 一种解决方案是更改WebDriver的Firefox配置文件,以将某些MIME类型自动下载到给定目录。 我不确定如何(或是否)在Python中公开此信息,但

  • 当你在Chrome中下载一个文件时,你会在屏幕底部弹出一个带有下载文件名称的窗口。如何在文件下载后使用Selenium Webdriver和Python关闭它?

  • 问题内容: 我想启动浏览器(FF,CHROME)以测试禁用的cookie,我尝试这样做: 但这不行… 问题答案: 我刚刚获得了Firefox的解决方案: 但我不知道如何使用Chrome进行管理。

  • 我需要一个解决方案,使用SeleniumWebDriver从IE11中的web应用程序下载PDF文件。请找到下面我正在尝试处理的弹出窗口。 下面是我尝试处理IE弹出窗口的方法,但不幸的是没有任何帮助。 > 我试图使用下面的AutoIT脚本使用AutoIT来处理这个场景。 睡眠(5000) 本地$hIE=wingthandle(“[Class:IEFrame]”) 本地$hCtrl=ControlG

  • 问题内容: 当我同时执行多个测试时,我不想保持Firefox浏览器窗口可见。我可以使用来最小化它,但我不想这样做。 有什么办法可以隐藏Firefox窗口吗?我正在使用FireFox WebDriver。 问题答案: 最终,我找到了使用Windows Machine通过任何方法运行测试的用户的解决方案。嗯,实现不是用Java编写的,但是您可以很容易地做到。 使用工具。它具有处理窗口的所有功能。这是一

  • 我有一个情况显示在下面的SS。 我正在用selenium(Java)测试一些web应用程序,在一个瞬间我同时得到了4个弹出窗口。我想把他们全部解雇,但实际上我不能得到其中的3个。 我在搜索如何处理多个弹出窗口,发现了这个主题:如何在Selenium中处理多个报警弹出窗口确认?-但那不是我要找的。 第一次driver.switchTo().alert()返回一个警报,我可以将它取消。但是第二次,它是