Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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
Asp.net 从Casperjs中的弹出窗口下载_Asp.net_Download_Popup_Phantomjs_Casperjs - Fatal编程技术网

Asp.net 从Casperjs中的弹出窗口下载

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

我正在抓取一个奇怪的基于ASP的网站。我想下载一个XML文件。为了正常下载,我填写一张表格,点击“下载”,然后弹出窗口,文件自动下载(在chrome和firefox中)

似乎最终触发下载的是对“www.HOST.content/xmlfile.aspx”url的GET请求,该url获取一个文件名为“xmldocumentareabout.xml”的“内容处置:附件”

虽然我可以使用chrome中的开发者控制台(在弹出页面上)看到此请求/响应,但在Casperjs端的“resource.requested”或“resource.received”中看不到这些事件

到目前为止,我所尝试的:

  • 显式调用'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下载总是非常棘手。有一个特定的文件下载侦听器。