Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Selenium手动下载文件-PhantomJS_Java_Selenium_Phantomjs - Fatal编程技术网

Java 使用Selenium手动下载文件-PhantomJS

Java 使用Selenium手动下载文件-PhantomJS,java,selenium,phantomjs,Java,Selenium,Phantomjs,我正在尝试使用SeleniumWebDriver和ChromeDriver下载一些.xls文件,背景模式为PhantomJSD。它与ChromeDriver配合使用非常完美,但PhantomJS不下载该文件 因此,我的代码只需登录某个网站并单击此按钮: 单击按钮后,将创建一个带有链接的框架: <iframe src="/Online/ExportExcel.ashx?ExportParameter=ExportToExcel&amp;Action=75273143-ee19-4

我正在尝试使用SeleniumWebDriver和ChromeDriver下载一些.xls文件,背景模式为PhantomJSD。它与ChromeDriver配合使用非常完美,但PhantomJS不下载该文件

因此,我的代码只需登录某个网站并单击此按钮:

单击按钮后,将创建一个带有链接的框架:

<iframe src="/Online/ExportExcel.ashx?ExportParameter=ExportToExcel&amp;Action=75273143-ee19-47ad-91ac-1377fe3c8875&amp;Alias=428" style="display: none;"></iframe>
因为我发现PhantomJS不支持下载,所以我尝试手动下载该文件,方法是使用该代码进行一些小的修改,使其与我的代码相匹配

结果,它下载了登录页面的html文件代码

如何下载此文件

或者我应该放弃幻影,但我找不到一个简单的方法


谢谢

我以前曾见过这篇文章。它主要描述了如何设置chrome驱动程序的配置文件首选项以供下载。毕竟,驱动程序只是运行您的原生chrome二进制文件。我希望这对你的侦查有所帮助

总之,类似这样的内容应该告诉您的驱动程序在哪里下载:

require "selenium/webdriver"

Capybara.register_driver :chrome do |app|
  profile = Selenium::WebDriver::Chrome::Profile.new
  profile["download.default_directory"] = "YOUR_DOWNLOAD_PATH"
  Capybara::Selenium::Driver.new(app, :browser => :chrome, :profile => profile)
end

Capybara.default_driver = Capybara.javascript_driver = :chrome

现在您只需要处理上面链接描述的下载过程。本文中描述的过程是用Ruby编写的,但是应该很容易翻译成其他语言。

谢谢您的回复!但似乎这不是我需要的。chromedriver不加载文件。我的chrome驱动程序的问题是我想在后台工作。PhantomJS驱动程序在后台运行良好,但不下载该文件。啊,对不起!我在Phantomjs的存储库中找到了这个关于文件下载的打开文件。看起来这是一项正在进行的工作。对不起,我帮不上忙了。我见过使用headless的人在后台使用一些内嵌JavaScript魔术来下载文件,但这可能不是一个可用的解决方案。