我正在使用CasperJS来填写一些表格(输入字段,选择框等等)。我已经将jquery注入到脚本中但我不确定如何使其余的工作。
我基本上试图'找到'页面上的单个元素并在其中找到标记并更改值。一旦更改,我想点击html名称为“add_phone”的提交按钮。
以下是我到目前为止 - 请注意我使用最新版本的CasperJS 1.1.0-DEV和PhantomJS v1.9.1
执行时会返回以下错误:
TypeError: 'undefined' is not a function (evaluating 'this.evaluate(function() {
return $('table').find('select').val();
});
代码:
var casper = require('casper').create({
clientScripts: ['includes/jquery.min.js'],
verbose: true,
logLevel: 'debug',
loadImages: false
});
var url = 'http://www.simplysellular.com/displayphone.php?manufacturers=Apple&phones=iPhone+5+(ATT/GSM)+32GB&affiliates_id=14&affiliates_tracking_id=2072&utm_source=sellcell&utm_medium=web&utm_campaign=sellcell&condition_id=15';
casper.start(url);
var deviceValue = this.evaluate(function() {
return $('table').find('select').val();
});
this.echo(deviceValue);
casper.exit();
答案 0 :(得分:4)
this
都是casperjs中的undefined
尝试casper.then
:
casper.start(url);
casper.then(function() {
var deviceValue = this.evaluate(function() {
return $('table').find('select').val();
});
this.echo(deviceValue);
});