使用Java Selenium,如何让Firefox在新窗口或选项卡中打开下载的文本文件?

时间:2015-01-08 13:04:53

标签: java firefox selenium selenium-webdriver

我们希望在网格环境中运行Selenium测试,因此无法从远程浏览器读取任何下载的文件。为了能够使用动态内容检查某些下载文件的内容,我们认为可以配置FirefoxProfile,以便在新选项卡中打开某些类型的下载文件,然后直接从浏览器中读取内容。

在提交表单时会下载文件,并且不能更改任何表单属性,因为我们不想更改用户体验。

我找到了有关如何设置下载文件夹和指定直接下载指定文件类型的信息,但没有找到如何操作"相反的"。

由于我可以在手动下载这些文件时指定此行为,因此我假设有一种以编程方式执行此操作的方法。

我们使用的FirefoxProfile是新的FirefoxProfile(),而不是文件系统中导入的配置文件。

我的最后一次尝试是这样的:

    FirefoxProfile firefoxProfile = new FirefoxProfile();
    firefoxProfile.setPreference("browser.helperApps.neverAsk.openFile","text/csv, text/plain");
    return firefoxProfile;

1 个答案:

答案 0 :(得分:1)

获取文件路径和名称然后打开新的WebDriver实例或转到现有实例中的页面

路径文件路径

  String filePath = "file:///C:/Users/userdir/Documents/Logs/error.log"

  Using driver.get(path);

将在浏览器窗口中打开txt文件。