使用phantomjs读取响应主体
是否有任何方法可以通过phantomjs请求资源并能够访问响应的主体?这是phantomjs目前的一个大问题。公开(截至撰写之时)票证位于,但目前尚无可靠的解决方案。这适用于收集您的请求数据和响应数据,因此您无法收集您提交的帖子数据,然后使用类似CasperJS下载的方案重新发送。更新:关于“获取并使用所有其他资源(如图像、CSS、字体等)做一些事情”的其他可能含义,我最近在博客中写道。我相信从1.9.1开始在PhantomJS中实现这一点的唯一方法是应用补丁并重新编译使用phantomjs读取响应主体,phantomjs,Phantomjs,是否有任何方法可以通过phantomjs请求资源并能够访问响应的主体?这是phantomjs目前的一个大问题。公开(截至撰写之时)票证位于,但目前尚无可靠的解决方案。这适用于收集您的请求数据和响应数据,因此您无法收集您提交的帖子数据,然后使用类似CasperJS下载的方案重新发送。更新:关于“获取并使用所有其他资源(如图像、CSS、字体等)做一些事情”的其他可能含义,我最近在博客中写道。我相信从1.9.1开始在PhantomJS中实现这一点的唯一方法是应用补丁并重新编译 也许我误解了你所说的“
也许我误解了你所说的“反应体”的意思,或者它是比这个问题最近才添加到PhantomJS中的,但它很简单:
var page = require('webpage').create();
var url = 'http://google.com/';
page.open(url,function(){
console.log(page.content);
phantom.exit();
});
(顺便说一句,使用page.plainText
不带HTML标记地获取它。)
如果您只是想要
标记内容,那么
中没有一种方法可以用于获取响应的任何部分:
var page = require('webpage').create();
var url = 'http://google.com/';
page.open(url,function(){
var html = page.evaluate(function(){
return document.getElementsByTagName('body')[0].innerHTML;
});
console.log(html);
phantom.exit();
});
使用
slimmerjs
。你所有的“幻影JS”代码也可以使用“slimmerjs”
更多信息。请注意末尾的body
属性,该属性目前仅适用于slimmerjs
注意:请设置
page.captureContent=[/.*/]
,以便“body”显示在响应中。更多信息:SlimerJS无法在新版FireFox上运行,因此对我没有好处
解释了如何在2019年末从XHR获取响应正文我认为这与访问ajax响应或加载javascript的图像等有关。这就是我来到这里的原因。