如何遍历selenium中的每个文本字段?

时间:2017-05-13 22:54:40

标签: javascript selenium mocha chai

我有一个文本字段列表,每个字段都有相同的类名。这是html代码:

每个文本字段都有相同的类名,我试图通过在selenium中使用sendKeys方法将密钥发送到每个文本字段来自动化字段。我正在使用JavaScript(chai,mocha,node)来运行我的自动化。

             <div>
                 <textarea class="form-control textarea-multi" name="191_table_1"></textarea>
                 <textarea class="form-control textarea-multi" name="191_table_1"></textarea>
                 <textarea class="form-control textarea-multi" name="191_table_1"></textarea>
                 <textarea class="form-control textarea-multi" name="191_table_1"></textarea>
                 <textarea class="form-control textarea-multi" name="191_table_1"></textarea>
                 <textarea class="form-control textarea-multi" name="191_table_1">adad</textarea>
                 <textarea class="form-control textarea-multi" name="191_table_1">adadad</textarea>
                 <textarea class="form-control textarea-multi" name="191_table_1"></textarea>
                 <textarea class="form-control textarea-multi" name="191_table_1"></textarea>
              </div>

这就是我尝试过的。我试图通过className使用findElements并遍历className,然后填充每个文本字段:

describe('complete text fields',function(){
        it('fill all the text fields',function(done){
            driver.findElements(By.css("input[type=\'form-control textarea-multi\']")).then(function(texts){
                console.log("got the list of texts");
                texts.forEach(function(textField){
                    console.log("sending keys for each of the text field");
                    textField.sendKeys("test");
                    count = Number(count) + 1;
                    console.log(count);
                    if(count === 6) {
                        done();
                    }
                });
            });
        });
    });

但它因超时错误而失败。 (错误:超出15000ms的超时。)非常感谢任何帮助。提前感谢您。

1 个答案:

答案 0 :(得分:1)

尝试使用:

By.css(".form-control.textarea-multi")
By.xpath("//*[@class='form-control textarea-multi"]