有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用Selenium手动下载文件PhantomJS

我想下载一些。xls文件使用带有ChromeDriver和PhantomJSD(用于后台模式)的selenium WebDriver。它与ChromeDriver配合使用非常完美,但PhantomJS不下载该文件

所以我的代码简单地做的就是登录某个网站并点击这个按钮:

<button id="btnExcelExport" aria-label="יצוא נתונים" class="" data-tooltip="יצוא לאקסל"> </button>

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

<iframe src="/Online/ExportExcel.ashx?ExportParameter=ExportToExcel&amp;Action=75273143-ee19-47ad-91ac-1377fe3c8875&amp;Alias=428" style="display: none;"></iframe>

因为我发现PhantomJS不支持下载,所以我尝试使用这个代码link手动下载该文件,并进行一些小的修改,使其与我的代码相匹配

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

我怎样才能下载这个文件

(或者我应该放弃PhantomJS,但我找不到一个简单的解决方案……)

谢谢


共 (1) 个答案

  1. # 1 楼答案

    我在过去遇到过这篇文章。它本质上描述了如何设置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编写的,但应该很容易翻译成其他语言