我有一个简单的表,我想获取每个 TR 及其 TD 的计数,但我的代码返回页面的总 TD 计数。
List<WebElement> TRcount = driver.findElements(By.tagName("tr"));
System.out.println(TRcount.size());
if(TRcount.size()>0)
{
for(int i=0;i<TRcount.size();i++)
{
List<WebElement> TDcount = driver.findElements(By.tagName("td"));
System.out.println("First TR Contains: " + TDcount.size());
}
}
表格代码:
<table class="tftable" border="1">
<tr><th>PREVIOUS TEST</th><th>CURRENT TEST</th></tr>
<tr><td>Row:1 Cell:1</td><td>Row:1 Cell:2</td></tr>
<tr><td>Row:2 Cell:1</td><td>Row:2 Cell:2</td></tr>
</table>
我想要返回我的代码,例如第一个TR包含2个TD,第二个TR包含2个TD。
我当前的代码返回我总共 4 个 TD。但我想要 TR 明智的 TD 计数。
最佳答案
您可以执行findElements()
在 <tr>
的各个 WebElement 上标签。
List<WebElement> TRcount = driver.findElements(By.tagName("tr"));
for(WebElement e : TRcount) {
List<WebElement> TDcount = e.findElements(By.tagName("td"));
System.out.println("First TR Contains: " + TDcount.size());
}
或者
for(int i=0; i<TRcount.size(); i++) {
List<WebElement> TDcount = TRCount.get(i).findElements(By.tagName("td"));
System.out.println("First TR Contains: " + TDcount.size());
}
编辑:
用于从个人 <td>
获取文本标签。
for(int i=0; i<TRcount.size(); i++) {
List<WebElement> TDcount = TRCount.get(i).findElements(By.tagName("td"));
System.out.println("First TR Contains: " + TDcount.size());
// Fetch text from individual '<td>' tags
for(int j=0; j<TDcount.size(); j++) {
System.out.println(TDcount.get(j).getText());
}
}
关于java - 如何计算总数使用 selenium webdriver 从特定 TR 标签中提取 TD 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34487620/