如何通过Web驱动程序填充表中的值?

时间:2014-09-25 10:38:39

标签: selenium webdriver

在我的一个应用程序中,有一个表和50行。现在所有表行都有50个不同的id。我的方案是通过文件驱动程序填充表格行。那我怎么能完成这个任务呢?

1 个答案:

答案 0 :(得分:0)

据我所知,我们无法通过WebDriver修改DOM,但您可以使用JavascriptExecutor

进行修改

试试这个:

JavascriptExecutor js = (JavascriptExecutor) driver;
WebEelement tableCells = driver.findElements(By.cssSelector("table > tr > td"));

for (WebElement cell : tableCells) {
    String randString = getRandomString(20);
    js.executeScript("text('"+ randString +"')", cell);
}

private static String getRandomString(final int length) {
    char[] chars = "abcdefghijklmnopqrstuvwxyz1234567890".toCharArray();
    Random random = new Random(); 
    StringBuilder sb = new StringBuilder();
    for(int i = 0; i < length; i++) {
        char c = chars[random.nextInt(chars.length)];
        sb.append(c);
    }
    return sb.toString();
}