首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Casper单击链接,等待ajax响应

Casper单击链接,等待ajax响应
EN

Stack Overflow用户
提问于 2016-10-20 07:46:41
回答 1查看 1.1K关注 0票数 1

我第一次尝试使用Casper,我想点击一个链接,等待ajax响应和获取一个元素的值,但我似乎无法理解它。到目前为止,这就是我所拥有的:

代码语言:javascript
复制
var casper = require('casper').create();
var phoneNumber = '';

casper.start('https://www.gumtree.com/p/3-bedrooms-rent/3-bed-mid-terrace-house-in-a-lovely-and-peaceful-part-of-hatfield-al10-area/1194478241', function() {
    this.waitForSelector( '[data-q="reply-panel-reveal-btn"]' );
});

casper.then(function() {
    casper.click( '[data-q="reply-panel-reveal-btn"]' );
});

casper.then( function(){
    phoneNumber = document.querySelector('[data-print-key="channel:syi.reveal-phone,key:data"]').innerHTML;
});

casper.run( function(){
    console.log(phoneNumber);
});

最终结果是空白的,终端中什么也没有返回。有人知道我错在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-24 13:10:50

使用https://stackoverflow.com/users/1816580/artjom-b资源,我使用以下方法成功地做到了这一点:

代码语言:javascript
复制
var casper = require('casper').create();

casper.start('https://www.gumtree.com/p/3-bedrooms-rent/3-bed-mid-terrace-house-in-a-lovely-and-peaceful-part-of-hatfield-al10-area/1194478241');
casper.thenClick( '.box-padding > .clearfix > .btn-secondary.set-right ' );
casper.waitForSelectorTextChange( '.box-padding > .clearfix > .txt-large.txt-emphasis.form-row-label', function() {
    var phoneNumber = this.evaluate(function(){
        return document.querySelector( ".box-padding > .clearfix > .txt-large.txt-emphasis.form-row-label" ).textContent;
    });
    this.echo(phoneNumber);
});
casper.run(); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40148414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档