2017-05-13 22 views
0

我有一個文本字段的列表,每個文本字段都有相同的類名。這是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> 

這就是我試過的。我試圖通過類名使用findElements並通過類名的迭代,然後填寫每個文本字段:

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的超時。)任何幫助將不勝感激提前謝謝。

+0

點擊這裏:http://stackoverflow.com/questions/16607039/in-mocha-testing-while-calling-asynchronous-function-how-to-avoid-the -timeout-er – kushal

回答

1

嘗試使用:

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

我仍然得到相同的錯誤。但是,我試圖打印數組大小。它似乎爲零。我嘗試了你的兩個建議。 driver.findElements(By.By.xpath(「// * [@ class ='form-control textarea-multi']」)) – kushal