一尘不染

Selenium firefox配置文件,用于保存文件

selenium

我正在使用selenium和Firefox从互联网下载文件。当我尝试下载文件时,我得到的下载框询问我是否要保存文件或“打开方式”。我想保存文件,但不是自动保存(想重命名文件名),我希望浏览器会问我保存文件的位置。在firefox设置下,“始终询问在哪里保存文件”这个选项仍然被选中。.当我使用selenium运行脚本时,它不是在问我并保存文件。如何设置Firefox配置文件来执行此操作?我在哪里可以看到所有的Firefox配置文件?感谢帮手。


阅读 424

收藏
2020-06-26

共1个答案

一尘不染

研究了该问题的一点解决方法。想分享我的发现。关于通常使用Selenium的自动化浏览器对话框:
没有简单的方法来制作Selenium下载文件,因为浏览器为此使用本机对话框,而这些本机对话框无法由JavaScript控制,因此您需要一些“技巧”。
检查一下

特别是关于ffox浏览器设置, 您可以配置Firefox
自动启动下载并将文件保存
在特定位置

或使用:

    FirefoxProfile firefoxProfile = new FirefoxProfile();

    firefoxProfile.setPreference("browser.download.folderList",2);
    firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
    firefoxProfile.setPreference("browser.download.dir","c:\\downloads");
    firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");

    WebDriver driver = new FirefoxDriver(firefoxProfile);//new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);

    driver.navigate().to("http://www.myfile.com/hey.csv");

希望这对你有用

2020-06-26