Selenium 如何通过web驱动程序填写表中的值?
在我的一个应用程序中,有一个表和50行。现在所有表行都有50个不同的id。我的场景是通过wen驱动程序填充表行。那么我该如何执行这项任务呢?据我所知,我们不能通过WebDriver修改DOM,但您可以使用JavascriptExecutor来完成 试试这个:Selenium 如何通过web驱动程序填写表中的值?,selenium,webdriver,Selenium,Webdriver,在我的一个应用程序中,有一个表和50行。现在所有表行都有50个不同的id。我的场景是通过wen驱动程序填充表行。那么我该如何执行这项任务呢?据我所知,我们不能通过WebDriver修改DOM,但您可以使用JavascriptExecutor来完成 试试这个: JavascriptExecutor js = (JavascriptExecutor) driver; WebEelement tableCells = driver.findElements(By.cssSelector("table
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
请提供更多详细信息。你想让这张桌子装满什么?到目前为止您尝试了什么?请提供表的代码