casperjs评估函数无法返回我需要的数据

时间:2014-03-26 19:46:46

标签: javascript phantomjs casperjs

无法使我的函数正确返回数据 我想抓住这个输入框的值

<input type="text" value="example@outlook.com" maxlength="100" size="40" name="mail"></input> 

所以我构建了一个像这样的函数

exports.Details = function() {
casper.thenOpen("https://perfectmoney.is/settings.html", function() { 
var fetch = casper.fetchText('#reg > table:nth-child(3) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table:nth-child(4) > tbody:nth-child(1) > tr:nth-child(8) > td:nth-child(2) > input:nth-child(1)')
});
};

我正在调用我的函数

casper.then(function() {
var item = pief.Details();
console.log(item);
});

我得到的结果是不确定如何解决这个问题

1 个答案:

答案 0 :(得分:2)

casper.then(function(){
     value = this.evaluate(function() {
         return __utils__.findOne('input').getAttribute('value');
     });
});

casper.then(function(){
    this.echo(value);
});

我建议你为这个输入添加一个id。并按input#id_name.

搜索