CasperJS填写表格 - 输入名称有方括号

时间:2016-05-11 05:01:05

标签: javascript css-selectors casperjs

我试图在Drupal 7中提交。

输入名称的方括号如下:

<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

我试图使用\逃脱,但仍无效。

2 个答案:

答案 0 :(得分:0)

如果x-path无效,您可以尝试使用x-pathcasper.evalute方法。

例如:

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

答案 1 :(得分:0)

您应该引用您尝试与CSS选择器匹配的属性值:

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