当前位置: 首页 > 知识库问答 >
问题:

如何在selenium中迭代每个文本字段?

皇甫卓君
2023-03-14

我有一个文本字段列表,每个字段都有相同的类名。这是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个答案

年光明
2023-03-14

尝试使用:

By.css(".form-control.textarea-multi")
By.xpath("//*[@class='form-control textarea-multi"]
 类似资料:
  • 如何在typescript中迭代字符串文字类型? 例如我定义这种类型 我想这样迭代 或者这在打字稿中根本不可能?

  • 如果我在这里混淆了任何与ISO日期相关的术语,请提前道歉。

  • 我正在设计Selenium WebDriver框架工作中的测试,我想在登录框中的字段中插入文本。 这里是一个网站www.fitandjump-widzew.pl点击右上角的“zaloguj”按钮后,出现登录框。我想在电子邮件输入字段中插入文本。 下面是我的代码: 在执行之后,我得到这个错误:org.openqa.selenium.ElementNotVisibleException:元素不可见 有

  • 我有一个名为计算的方法,它需要太长时间才能完成。所以我决定将我的信息列表对象部分发送到这个方法。我如何遍历每n个元素?

  • 我有一个LinkedHashMap,它有一个值(在调试器上检查),但是当我试图使用它作为每个组件的输入时,它抛出了这个错误: 这是我为每个人准备的片段: 非常确定负载不是null和空的,并且是HashMap的实例。我错过什么了吗?谢谢

  • 问题内容: 就像在口吃的情况下,如果文本为“ dean”且乘数为3,则由提供的乘数指定的次数,结果将为“ dddeeeaaannn”。 没有得到所需的结果。我究竟做错了什么? 问题答案: 您只需要为字符串中的每个字符添加n次字符串本身。您需要遍历字符串,并将每个字符追加n次。 另外,另一种解决方案是使用正则表达式。