【问题标题】:Random failure with casperjs fill & select boxcasperjs 填充和选择框随机失败
【发布时间】:2014-02-18 13:49:33
【问题描述】:

10 次,我的国家选择框没有更新我的值,它让默认值是另一个国家。

我不知道为什么。

casper.then(function() {
  this.fill('.my-form-class', {
    address: '17 rue dulong'
    city: 'Paris'
    country: 'France'
  }, true);         
});

【问题讨论】:

    标签: javascript html-select casperjs


    【解决方案1】:

    我建议使用 xpath。在执行此操作之前,您需要在 casper 脚本的顶部注入 xpath 标题。

    casper.sendKeys(x('yourXPath', 'keys to send'));
    

    如果这不是一个好的解决方案,您可以随时将 jQuery 注入到您的脚本中,然后使用 jQuery 来更改元素的值。

    【讨论】:

    • 谢谢,我会试试 xpath 的。
    • 在本视频中,我将展示如何使用 xpath 填写表单。 youtube.com/watch?v=Kefil5tCL9o
    • 我无法使用 sendKeys 填充选择框,但我可以使用 fillXpath。我希望没有随机的结果。我今天早上试试。我会告诉你我的结果
    • 这是不可能的,因为 sendKeys 只适用于“input”和“textarea”元素,而不是像我想做的“select”列表。
    【解决方案2】:

    我以前也遇到过类似的问题。在我的情况下,发生在字段上进行表单验证时。

    试试这个:

    casper.then(function() {
        if (casper.exists('.my-form-class')) {
            this.fill('.my-form-class', {
               address: '17 rue dulong',
               city: 'Paris',
               country: 'France'
            }, false);
    
            this.click('button[type="submit"][name="__HERE__"]'); // Can use ID or name here
        }
    });
    

    Casper Button Click Documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      相关资源
      最近更新 更多