0

フォームに記入して送信したいのですが。

スクリプトの一部を確認してください:

casper.then(function(){
    if(this.exists('#msisdn')){
        this.echo('ok found');
        **this.test.assertExists('form[id="internetPlus"]', 'form is found');
        this.fill('form[id="internetPlus"]', {
            'numero': 'xxxxxxxx'  
        },true);**
        this.click('#button');

そして、私はこのエラーを受け取りました:

**PASS form is found**
[info] [remote] attempting to fetch form element from selector:   
'form[id="internetPlus"]'
**[error] [remote] TypeError: 'undefined' is not an object (evaluating   
'field.getAttribute')
FAIL CasperError: Unable to fill form
#    type: uncaughtError
#    error: "CasperError: Unable to fill form"
CasperError: Unable to fill form                                               
  /home/soufyan/workspace/casperjs:524 in fill
  /home/soufyan/workspace/casperjs/kkostoreHomeTest.js:45
  /home/soufyan/workspace/casperjs:909 in runStep
  /home/soufyan/workspace/casperjs:252 in checkStep**

アサート結果に問題がないため、フォームに入力できない理由がわかりません。

4

1 に答える 1

0

フォームには、「numero」という名前の入力またはフィールドが含まれていない可能性があります。その名前の入力があることを確認してください。

fill メソッドに渡されるオブジェクト リテラルにジャンク変数を追加するだけで、問題を再現しようとしました。まったく同じエラーが発生しました。

于 2012-07-14T01:30:54.943 に答える