Javascript 无法验证表单是否已用CasperJS&;填写;jQuery

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

我有一张表格,我正试图用CasperJS填写。代码本身似乎没有任何问题(没有返回错误)-但我似乎无法“检查”表单是否已填写

当我转储“first_name”时,它似乎是空白的——即使我已将其设置为用字符串“Joe”填充——你知道我做错了什么吗

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代码