gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 02:56:35 25 4
gpt4 key购买 nike

我正在尝试使用 selenium WebDriver 与 ChromeDriver 和 PhantomJSD(用于后台模式)下载一些 .xls 文件。它与 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,但我找不到简单的替代方案..)

谢谢!

最佳答案

我过去读过这篇文章 ( http://collectiveidea.com/blog/archives/2012/01/27/testing-file-downloads-with-capybara-and-chromedriver/ )。它本质上描述了如何设置 chrome 驱动程序的配置文件首选项以进行下载。毕竟,驱动程序只是运行您的 native 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 编写的,但应该很容易翻译成任何其他语言。

关于java - 使用 Selenium 手动下载文件 - PhantomJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37088235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com