在CasperJS中发送Ajax请求并循环结果
Send an Ajax request in CasperJS and loop through results
我目前正试图从GET调用获取json值(主要是url)并将其分配给变量。最后,我想循环遍历值并使用casper打开每个url。然而,我看到通过使用casperjs的ajax调用获取值有不正确的概念。我通读了文档,但似乎不明白为什么我仍然得到错误ReferenceError: Can't find variable: __utils__
?
casper.start();
var url = "http://dev.web-ui.com/generate.php";
casper.then(function(url) {
var results = __utils__.sendAJAX(url, "GET");
});
casper.run();
你至少有两个问题:
-
url
参数不是URL,而是包含该URL的最后加载的页面资源对象。 -
__utils__
在页面上下文之外不可用。如果需要,您可以要求它,但这可能无法解决问题,因为页面上下文之外的虚拟document.location
与您想要查询的URL具有不同的域,因此请求可能由于跨域限制而失败。
示例代码:
casper.then(function(resource) {
var results = this.evaluate(function(url){
return __utils__.sendAJAX(url, "GET");
}, resource.url);
this.echo(results);
});
您在casper测试中吗?如果是这样,也许var __utils__ = require('clientutils').create();
会解决它。很遗憾,我现在不能亲自尝试。
相关文章:
- Javascript在for循环中等待处理请求
- Chrome浏览器“;挂起”;同时在循环中执行AJAX请求
- $.每个jquery循环打印一个“;未定义的“;对于getJSON请求后的每个元素,网格数据都会完美地打印出来
- 如何循环请求用户输入,直到用户在Acrobatneneneba XI中输入信息
- 响应 JSONP 请求时循环的无限空的目的是什么
- 跟踪循环中触发的请求-响应
- 使用promise在for循环中请求与订单相关的信息
- 带有一个回调的多个循环ajax请求
- 简单的Ajax请求,在React.js中循环数据
- 节点 JS:请求循环,直到状态代码 200
- 承诺解析错过异步请求循环的一个值
- 在“each”函数中创建 ajax 请求循环
- 我怎么知道indexedDB请求循环是否已经结束
- jQuery请求循环与睡眠/超时
- Angularjs $resource的无限请求循环
- 返回带有承诺的javascript http请求循环
- 从异步请求循环中获取值
- getJSON 请求循环遍历参数数组,每次调用之间都有延迟
- Ajax 请求循环并等待完成
- Nodejs请求循环限制