Javascript 无法验证表单是否已用CasperJS&;填写;jQuery
我有一张表格,我正试图用CasperJS填写。代码本身似乎没有任何问题(没有返回错误)-但我似乎无法“检查”表单是否已填写 当我转储“first_name”时,它似乎是空白的——即使我已将其设置为用字符串“Joe”填充——你知道我做错了什么吗Javascript 无法验证表单是否已用CasperJS&;填写;jQuery,javascript,jquery,phantomjs,casperjs,headless-browser,Javascript,Jquery,Phantomjs,Casperjs,Headless Browser,我有一张表格,我正试图用CasperJS填写。代码本身似乎没有任何问题(没有返回错误)-但我似乎无法“检查”表单是否已填写 当我转储“first_name”时,它似乎是空白的——即使我已将其设置为用字符串“Joe”填充——你知道我做错了什么吗 casper.start(url); casper.then(function() { this.fill('form[name="phones_display"]', { 'first_name' : 'Jo
casper.start(url);
casper.then(function() {
this.fill('form[name="phones_display"]', {
'first_name' : 'Joe', // Required
'last_name' : 'bloggs', // Required
'check_payable' : '', // name to cheque if different from your name
'payment_method' : 'check', // Required check, paypal
'shipping_method' : '', // envelope, fedex
'email_address' : 'joe@bloggs.com', // Required
'paypal_email_address' : '',
'telephone_number' : '12345678', // Required
'street_address_1' : '', // Required
'street_address_2' : '',
'city' : '', // Required
'state' : '',
'zip_code' : '', // Required
'hear' : '',
'otherreason' : ''
}, true);
});
casper.then(function() {
var first_name = this.evaluate(function() {
return $('input[name="first_name"]').val();
});
require('utils').dump(first_name);
});
casper.run();
这是因为在填写表单后,表单被提交。因此,当您尝试获取输入“firstname”时,表单已被清理。为了避免这种情况,只需将casper.fill()方法的第三个参数更改为false
fill(String selector, Object values[, Boolean submit])
例如:
this.fill('form[name=“phones\u display”]”{
'first_name':'Joe',//必填项
'last_name':'bloggs',//必需
....
},假);
找到了答案。。。该页面已经弄乱了表单标记,因此我的代码永远无法工作:-(由于某种原因似乎无法工作-这是JSFIDLE中的完整js代码