如何处理在表中动态创建的div

时间:2015-03-06 04:29:34

标签: selenium xpath selenium-webdriver css-selectors

enter image description here我试图迭代一个表来获得结果。该表的结构如图所示

当我打开页面时,只有一个角色="演示文稿"我可以使用下面的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只能进入第一级(第一级)并获取详细信息。我不知道如何达到第二级

1 个答案:

答案 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...
}

希望有所帮助。