当前位置: 首页 > 知识库问答 >
问题:

如何使用FirefoxProfile通过Firefox浏览器自动下载?

颛孙正卿
2023-03-14

我正在使用selenium java来下载pdf文件,我在这里引用了这个,这个和这个答案,但似乎没有什么在我的情况下工作。是否由于设置了新的firefox驱动程序实例,即System.SetProperty(“webdriver.firefox.bin”,“d:\\fff\\firefox.exe”);?然而,当我手动单击MIME对话框中的save file时,它会正确地保存到我的自定义位置,我的下载链接代码也位于另一个java类中,下面的代码位于另一个类中,但我使用了与该类中声明的相同的驱动程序,下面是我的代码,

FirefoxProfile profile = new FirefoxProfile();
//Set Location to store files after downloading.
profile.setPreference("browser.download.folderList", 2);
profile.setPreference( "browser.download.manager.showWhenStarting", false );
profile.setPreference("browser.download.dir", "D:\\WebDriverDownloads");
profile.setPreference("pdfjs.disabled", true);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf"); 
System.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe");
driver = new FirefoxDriver(profile);

共有1个答案

徐洛华
2023-03-14

以下代码块将Firefox配置文件配置为使用Selenium通过Java绑定使用下载保存PDF文件:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.dir", "C:\\Utility\\Downloads");
profile.setPreference("browser.download.folderList",2);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "text/plain,application/octet-stream,application/pdf,application/x-pdf,application/vnd.pdf");
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.helperApps.neverAsk.openFile","text/plain,application/octet-stream,application/pdf,application/x-pdf,application/vnd.pdf");
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.useWindow", false);
profile.setPreference("browser.download.manager.focusWhenStarting", false);
profile.setPreference("browser.helperApps.neverAsk.openFile", "");
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.download.manager.showAlertOnComplete", false);
profile.setPreference("browser.download.manager.closeWhenDone", true);
profile.setPreference("pdfjs.disabled", true);
System.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe");
WebDriver driver = new FirefoxDriver(profile);
 类似资料:
  • 问题内容: 我正在使用seleniumjava工作,需要下载pdf文件,但是在我的情况下似乎没有任何效果。是由于设置了新的firefox驱动程序实例ie吗?我被困在这里。但是,当我在MIME对话框上手动单击保存文件时,它可以正确保存到我的自定义位置,我的下载链接代码也位于另一个Java类中,而位于另一个类的下面,但是我使用的驱动程序与在此类中声明的,以下是我的代码, 问题答案: 以下代码块使用直通

  • 我正在尝试启动selenium web浏览器,我可以打开火狐浏览器,但无法打开谷歌帮助我解决我面临的这个错误 线程“main”org.openqa.selenium.WebDriverException中的hello world异常:等待Firefox启动45秒时超时。构建信息:版本:“3.14.0”,修订版:“AACCCCE0”,时间:“2018-08-02T20:05:20.749Z”系统信息

  • 我正在尝试自动登录到我的应用程序,其中使用了谷歌sso身份验证。但是,登录表单返回错误“此浏览器或应用程序可能不安全”。我将我的google帐户选项设置为允许不太安全的应用程序,但仍然没有。 我浏览了几个主题: GMail正在阻止通过自动化(Selenium)登录 Selenium Google登录块 使用python和selenium自动登录Google显示“此浏览器或应用程序可能不安全” 谷歌

  • 我没有对我的python selenium程序做任何更改,3天前它运行良好。现在,当我尝试使用它时,我得到: 浏览上下文已被丢弃无法解码来自木偶的响应 知道代码之外的原因是什么吗?(由于未进行任何更改) 我正在使用火狐和壁虎驱动程序。在我得到这些错误后,我更新了火狐、壁虎驱动程序和硒,但没有帮助。

  • 问题内容: 假设,我需要在特定的网站上执行一组过程,例如,填写一些表格,单击“提交”按钮,将数据发送回服务器,接收响应,再次基于响应执行一些操作,然后将数据发送回服务器网站的。我知道python中有一个webbrowser模块,但是我想这样做而不调用任何Web浏览器。它不必是一个纯脚本。 在python中有可用的模块可以帮助我做到这一点吗? 谢谢 问题答案: 您也可以看看机械化。它的意思是处理 “

  • 问题内容: 如何检测用户是否正在通过移动Web浏览器查看我的网站,以便随后可以自动检测并显示适当版本的网站? 问题答案: 是的,读取User-Agent标头即可解决问题。 那里有一些已知的移动用户代理列表,因此您无需从头开始。我必须要做的是建立一个已知用户代理的数据库,并在检测到未知的版本时存储未知的内容,然后手动找出它们是什么。在某些情况下,这最后一件事可能会过大。 如果要在Apache级别执行