Selenium Webdriver-获取表数据

我想从UI中的表中获取数据。我知道使用“ tr”和“ td”遍历行和列。但是我桌子上的桌子是这样的:

<table>

<tbody>

<tr><td>data</td><th>data</th><td>data</td><td>data</td></tr>

<tr><td>data</td><th>data</th><td>data</td><td>data</td></tr>

<tr><td>data</td><th>data</th><td>data</td><td>data</td></tr>

</tbody>

</table>

如何使我的代码通用,以便可以处理中间出现的“ TH”。目前,我正在使用此代码:

// Grab the table

WebElement table = driver.findElement(By.id(searchResultsGrid));

// Now get all the TR elements from the table

List<WebElement> allRows = table.findElements(By.tagName("tr"));

// And iterate over them, getting the cells

for (WebElement row : allRows) {

List<WebElement> cells = row.findElements(By.tagName("td"));

for (WebElement cell : cells) {

// And so on

}

}

回答:

您可以查找所有tr元素的子元素,而无需区分td和th。所以代替

List<WebElement> cells = row.findElements(By.tagName("td"));

我会用

List<WebElement> cells = row.findElements(By.xpath("./*"));

以上是 Selenium Webdriver-获取表数据 的全部内容, 来源链接: utcz.com/qa/425713.html

回到顶部