Asp.net 从Casperjs中的弹出窗口下载
我正在抓取一个奇怪的基于ASP的网站。我想下载一个XML文件。为了正常下载,我填写一张表格,点击“下载”,然后弹出窗口,文件自动下载(在chrome和firefox中) 似乎最终触发下载的是对“www.HOST.content/xmlfile.aspx”url的GET请求,该url获取一个文件名为“xmldocumentareabout.xml”的“内容处置:附件” 虽然我可以使用chrome中的开发者控制台(在弹出页面上)看到此请求/响应,但在Casperjs端的“resource.requested”或“resource.received”中看不到这些事件 到目前为止,我所尝试的:Asp.net 从Casperjs中的弹出窗口下载,asp.net,download,popup,phantomjs,casperjs,Asp.net,Download,Popup,Phantomjs,Casperjs,我正在抓取一个奇怪的基于ASP的网站。我想下载一个XML文件。为了正常下载,我填写一张表格,点击“下载”,然后弹出窗口,文件自动下载(在chrome和firefox中) 似乎最终触发下载的是对“www.HOST.content/xmlfile.aspx”url的GET请求,该url获取一个文件名为“xmldocumentareabout.xml”的“内容处置:附件” 虽然我可以使用chrome中的开发者控制台(在弹出页面上)看到此请求/响应,但在Casperjs端的“resource.reque
- 显式调用'this.download'(www.HOST.content/xmlfile.aspx')
- Post调用使用以下格式:“this.download('www.HOST.content/form.aspx',downloadPath,'Post',postBody'),其中“postBody”包含所有表单信息和“事件”目标
- 正在尝试使用此.open('www.HOST.content/xmlfile.aspx')复制GET请求
还有什么其他方法可以用来捕获Casperjs中弹出窗口中的自动下载事件?通过在弹出框中调用'download()'修复(在'withPopup()'的'then()'函数中)通过在弹出框中调用'download()'修复(在'withPopup()的'then()'函数中)“你已经看到了,对吗?是的,我想我已经看到了所有关于这个的相关SO帖子,但是没有一个解决方案是有效的。因为文件下载是通过弹出窗口触发的,它不会触发“resource.received”事件监听器。有没有具体的方法为弹出窗口设置该监听器,或者它应该在所有情况下都有效ows?我不知道它是否适用于所有窗口。你可以尝试使用弹出式回调在
中添加侦听器,但可能太晚了。使用PhantomJS下载总是非常棘手。有一个特定的文件下载侦听器。你已经看到了,对吗?是的,我想我已经看到了所有相关的SO帖子,但是所有解决方案都不起作用。由于文件下载是通过弹出窗口触发的,因此它不会触发“resource.received”事件侦听器。是否有特定的方法为弹出窗口设置该侦听器,或者该侦听器应在所有窗口中工作?我不知道它是否适用于所有窗口。您可以尝试在中添加该侦听器有弹出式
回调的端,但可能太晚了。使用PhantomJS下载总是非常棘手。有一个特定的文件下载侦听器。