我试图迭代一个表来获得结果。该表的结构如图所示
当我打开页面时,只有一个角色="演示文稿"我可以使用下面的css定位器检索数据。
driver.findElement(By.cssSelector("div[id^=dojox_grid__View_] div.dojoxGridContent div.dojoxGridRow:nth-child(1) tbody tr:nth-child(1) td:nth-child(6)")).getText();
当我手动滚动页面时,另一个标签是动态创建的,其中role =" presentation"并且有很多行(div.dojoxGridRow)。我也想迭代这些行。
Selenium只能进入第一级(第一级)并获取详细信息。我不知道如何达到第二级
答案 0 :(得分:0)
我不确定您要访问的是哪个元素 但您可以使用“演示”角色访问所有div(返回列表):
driver.findElements(By.cssSelector("div[role='presentation']"));
如果您尝试使用角色演示访问div下的每一行:
driver.findElements(By.cssSelector(".dojoxGridRow"));
如果你想获得具有角色'presentation'的div的子行:
List<WebElement> presentations = driver.findElements(By.cssSelector("div[role='presentation']"));
for (WebElement presentation : presentations) {
List<WebElement> rows = presentation.findElements(By.cssSelector(".dojoxGridRow"));
// DO SOMETHING...
}
希望有所帮助。