【发布时间】:2016-12-15 00:41:44
【问题描述】:
我正在使用 Watir Webdriver 和无头(phantomjs)浏览器访问网站,登录并使用 javascript 提交按钮单击并下载文件。当我单击提交时,我被 302 重定向到另一个地址我可以在我的网络下看到。这是要下载的文件的 url。我正在使用屏幕截图进行调试,所以我可以看到 phantomjs 工作正常,但是在点击提交按钮后,没有任何反应。整个过程在 firefox 上也可以正常工作.使用 watir webdriver,我如何获取该链接并将其保存在数据库中并重定向我的 phantomjs 以使用该链接下载文件?我尝试阅读 github 拉取请求、官方文档和博客文章,但我无法找到任何解决方案。请给我建议或解决方案。甚至一个字的建议也值得赞赏,因为它可能会帮助我解决问题。我尝试获取“http请求标头”但没有成功。我有browser.cookie.to_a和browser.headers只给我object这样Watir::HTMLElementCollection:0x000000024b88c0.谢谢
【问题讨论】:
-
您需要使用自定义的 Firefox 配置文件。我最近想出了如何使用 selenium 来做到这一点,尽管我还没有尝试过使用 Phantom。请参阅here获取代码 sn-p
-
感谢@maxpleaner,但我正在寻找无头解决方案。
-
实际上我在该代码来自的项目中使用无头。如果在启动 firefox 驱动程序之前启动 headless,它将在 headless 范围内。
-
感谢@maxpleaner,我在 watir webdriver 文档中找到了这段代码并尝试使用它,但不幸的是,该代码适用于 firefox,但不适用于 phantomjs。我添加了标题,但仍然无法正常工作。
-
请参阅how-to-download-a-csv-file-using-phantomjs 了解有关使用幻像下载文件的信息。建议似乎不是改用 Casper
标签: javascript ruby phantomjs watir-webdriver