【问题标题】:CasperJS fill form - input name has square bracketCasperJS 填写表单 - 输入名称有方括号
【发布时间】:2016-09-06 07:30:59
【问题描述】:

我正在尝试在 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

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

【问题讨论】:

  • 如果任何给定的答案解决了您的问题,您可以accept 其中一个。如果没有,请详细说明问题所在。

标签: javascript css-selectors casperjs


【解决方案1】:

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

例如:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 接受了哪一个答案? @Artjom B.
    • @gumuruh 没有一个答案被接受。 OP在问完问题后就消失了。
    猜你喜欢
    • 2016-04-06
    • 2011-05-31
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多