Selenium 如何通过web驱动程序填写表中的值?

Selenium 如何通过web驱动程序填写表中的值?,selenium,webdriver,Selenium,Webdriver,在我的一个应用程序中,有一个表和50行。现在所有表行都有50个不同的id。我的场景是通过wen驱动程序填充表行。那么我该如何执行这项任务呢?据我所知,我们不能通过WebDriver修改DOM,但您可以使用JavascriptExecutor来完成 试试这个: JavascriptExecutor js = (JavascriptExecutor) driver; WebEelement tableCells = driver.findElements(By.cssSelector("table

在我的一个应用程序中,有一个表和50行。现在所有表行都有50个不同的id。我的场景是通过wen驱动程序填充表行。那么我该如何执行这项任务呢?

据我所知,我们不能通过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();
}
JavascriptExecutor js=(JavascriptExecutor)驱动程序;
WebEelement tableCells=driver.findElements(By.cssSelector(“table>tr>td”);
for(WebElement单元格:tableCells){
String randString=getRandomString(20);
js.executeScript(“text(“+randString+”)”,单元格);
}
私有静态字符串getRandomString(最终整数长度){
char[]chars=“abcdefghijklmnopqrstuvxyz1234567890”;
随机=新随机();
StringBuilder sb=新的StringBuilder();
for(int i=0;i
请提供更多详细信息。你想让这张桌子装满什么?到目前为止您尝试了什么?请提供表的代码