我有一个简单的表,我想得到每个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计数。
答案 0 :(得分:1)
您可以对findElements()
代码的各个Web元素执行<tr>
。
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());
}
OR
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());
}
}