2016-05-11 7 views
3

を持っている私は、Drupalの7にCasperJSは、フォームに入力 - 入力名が角括弧

を提出しようとして入力された名前は、以下のように角括弧を持っています

<textarea class="text-full form-textarea" id="edit-body-und-0-value" name="body[und][0][value]" cols="60" rows="4"></textarea> 

私は標準的な方法を使用しようとしています:

casper.waitForSelector("form input[name='title']", function() { 
    this.fillSelectors('form#post-node-form', { 
     'input[name = title ]': 'White title here', 
     'input[name = body[und][0][value] ]': 'Write body content here' 
    }, true); 
}); 

しかし、それはエラーを返す:

FAIL Errors encountered while filling form: no field matching css selector "input[name = body[und][0][value] ]" in form 

\を使用してエスケープしようとしましたが、まだ動作しません。

+0

与えられた回答のいずれかがあなたの問題を解決した場合は、[受け入れること](http://meta.stackexchange.com/q/5234/266187)それらの1つ。それができなかったら、間違っているものを広げてください。 –

答えて

0

xパスで動作しない場合は、x-pathまたはcasper.evaluteメソッドを使用できます。

例えば:

casper.thenEvaluate(function(term) { 
    document.querySelector('input[name="q"]').setAttribute('value', term); 
    document.querySelector('form[name="f"]').submit(); 
}, 'CasperJS'); 
0

あなたはCSSセレクタと一致しようとしている属性値を引用符で囲む必要があります。

'input[name = "body[und][0][value]" ]' 
+0

どちらの回答が受け入れられましたか? @Artjom B. – gumuruh

+0

@gumuruh答えはどれも受け入れられませんでした。問題を尋ねた後、OPは単に消え去った。 –