javascript - CasperJS:从提交后加载的页面读取网页
问题描述
我的目标是使用 casperJS 从发布页面(表单提交后加载的页面)读取数据。
说明:我在 casperJS 中有脚本,它读取网页http://www.example.com/details并登录控制台。从这个初始页面阅读我没有问题。现在有一个 href 链接,点击它后,它会将表单提交到相同的 url(表单操作 self)http://www.example.com/details并在 dom 元素之一中更新新获取的数据。
我想在表单提交后页面加载后读取新获取的数据。
这是执行此过程的脚本部分。
casper.start('http://www.example.com/details', function () {
this.page.injectJs('/path../to../jquery.min.js');
casper.evaluate(function () {
var all_data = $('.selector').text();
console.log(JSON.stringify(all_data));
});
// submitting hidden form by clicking href
$('.formSubmit').click();
casper.then(function(){
casper.wait(5000, function(){
casper.evaluate(function () {
var new_data = $('.selector').text();
console.log(JSON.stringify(new_data));
});
});
});
});
解决方案
也许它根本没有提交表单,请尝试:
casper.then(function(){
this.mouseEvent('click','.formSubmit');
});
代替$('.formSubmit').click();
推荐阅读
- swift - 如何将属性的值传递给它的子类 UICollectionViewCell?
- amazon-web-services - 失败的 lambda 和 SQS 重试间隔 - 澄清?
- javascript - 如果凭据错误,我将如何将用户重定向回主页?
- python - 散景的堆积条形图中是否有错误,或者只是我?
- node.js - 将 Mongo Db 数据库集合导出到 json 文件
- javascript - 如何在数组中存储哪些索引范围是空闲的?
- java - HTTP 状态 405:此 URL 不支持 HTTP 方法 POST
- node.js - 刷新页面时丢失数据反应
- c# - 如何在我的委托函数中传递一个类?
- jquery - 如何在jquery中获取某个特定字符内的所有数据