CasperJS Ajax点击捕获
CasperJS Ajax click capture
我正在尝试抓取网页。站点上有一个ajax按钮(一个div),当点击它时,它会在页面上添加更多结果的列表(比如显示20多个结果)。我想点击3次。
使用下面的代码:
casper.then(function() {
for(var i=1; i<=3; i++){
casper.evaluate(function(){
$("div.showMore").click();
return true;
})
casper.wait(5000, function then(){
this.capture('image.png');
})
}
})
,但它只是捕获页面,没有点击。我确信这段代码点击…
$("div.showMore").click();
我检查了它通过推/尝试通过chrome控制台。
我错过了什么?
JavaScript是疯狂的异步性质。我会详细说明你在一个功能中的点击到下一个功能。这不是最理想的解决方案,但最有可能的是,你的代码的工作方式是Casper在for循环之前或期间截取截图。所以您的更改没有被注册。试着把它拼成四个不同的casper函数,看看结果是什么。
casper.then(function() {
this.evaluate(function(){
$("div.showMore").click();
});
casper.wait(3000, function() {
this.evaluate(function(){
$("div.showMore").click();
});
casper.wait(3000, function() {
this.evaluate(function(){
$("div.showMore").click();
});
casper.wait(5000, function then(){
this.capture('image.png');
});
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在php文件中获取$.post-ajax传递的值
- Replacing $ .ajax?
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- Ajax发布表单序列化,发布引号'
- 通过Ajax将JavaScript函数传递给PHP文件
- ajax请求的顺序总是不同的
- 可以't使用Polymer's的核心ajax
- Casperjs ajax调用-waitForResource并解析错误
- CasperJS AJAX表单通过POST不起作用
- 如何使 casperjs 正确使用 ajax 进度窗体
- CasperJS后AJAX不起作用
- CasperJS don'我没有请求AJAX
- Phantomjs/Casperjs没有正确评估德国亚马逊网站上的JS/Ajax
- 在CasperJS中发送Ajax请求并循环结果
- 带有casperJS的AJAX,用于根据返回的文本确定失败并发送电子邮件
- 使用casperjs通过AJAX发送POST/PUT
- CasperJS——发送和处理AJAX请求的正确方式
- CasperJS Ajax点击捕获