Sky*_*Sky 13 selenium html-table webdriver uitableview
我想从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>
Run Code Online (Sandbox Code Playgroud)
如何使我的代码通用,以便可以处理中间"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
}
}
Run Code Online (Sandbox Code Playgroud)
Jac*_*ekM 16
您可以查找tr元素的所有子元素,而无需区分td和th.而不是
List<WebElement> cells = row.findElements(By.tagName("td"));
Run Code Online (Sandbox Code Playgroud)
我会用
List<WebElement> cells = row.findElements(By.xpath("./*"));
Run Code Online (Sandbox Code Playgroud)
小智 9
对于这个问题的拥有者来说,对于其他人来说,对于Mayby来说为时已晚.
List<WebElement> cells = row.findElements(By.xpath(".//*[local-name(.)='th' or local-name(.)='td']"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70741 次 |
| 最近记录: |