在CasperJS中,如何等待JSON完成加载?
in CasperJS, how do you wait for JSON to complete loading?
我正在访问一个发出(大)JSON响应的站点。点击触发请求:
casper.then(function li10() {
casper.click(SEARCH_BUTTON_CSS);
});
但是根据我的web代理,客户端在收到整个响应之前关闭了连接。我试过等待URL出现。它按照预期等待URL,但这似乎还不够:
casper.then(function li11() {
casper.waitForUrl(/'/search-results'/p'?/,
function() {
var search_url = casper.getCurrentUrl();
console.log('found search results, url = ' + search_url);
},
function() {
console.log('failed to find search results');
casper.exit();
},
10000);
});
那么:什么是可靠的东西,我可以等待,将保证JSON代码完全加载之前进行下一步?
我假设您将填充搜索字段,单击按钮,JavaScript发出Ajax请求以接收JSON响应,然后对其进行解析并显示结果。
casper.waitForUrl()
用于等待页面URL变为指定的URL。它与单独加载的资源(如AJAX响应)无关。
你要么需要
- 找出搜索操作所请求的特定URL,并使用
casper.waitForResource()
等待该特定资源或 - 设计一个特定的选择器,当搜索数据被解析并注入
casper.waitForSelector()
页面时出现。
相关文章:
- 在AngularJS应用程序中加载JSON(加载谷歌电子表格)
- 无法使用JSON加载数据表
- phonegap的JSON加载问题
- 如何从外部将json加载到D3应用程序
- 尝试从JSON加载单词时出错
- JSON加载新内容后访问元素
- 在 java 脚本中从 JSON 加载内容之前返回值
- 将属性从 json 加载到 javascript 数组
- 煎茶触摸 JSON 加载到本地存储不起作用
- 将外部 JSON 加载到 Google Chrome 扩展脚本中
- 正在将JSON加载到时间映射中
- 使用动态模式从JSON加载
- Ember.js将json加载到HTML中
- 请求JSON加载到Javascript对象中.回应上的差异
- 强制可折叠布局中的分布式 json 加载
- 如何将不同格式的json加载到Highchart
- Bootstrap示例:将数据从JSON加载到表中
- json加载为javascript代码并使用变量
- FullCalendar未从JSON加载,Chrome除外
- 将JSON加载到Google区域图中