【发布时间】:2022-02-03 21:07:36
【问题描述】:
在我的 selenium 脚本中,我想从下表中获取表格数据,并比较“电话”列下的所有值并检查所有值是否只是数字。 我尝试使用以下代码,如果不是打印每列的文本,而是显示行数。
WebElement table = driver.findElement(By.xpath(“//table[contains(@class, 'table table-style')]”));
List<WebElement> rowsList = table.findElements(By.tagName("tr"));
List<WebElement> columnsList = null;
for (WebElement row : rowsList) {
columnsList = row.findElements(By.tagName("td"));
for (WebElement column : columnsList) {
System.out.println("column text" + column.getText()+ ", "); // here is is just printing number of rows, like 1, 2
}
}
<table class="table table-style" >
<thead>
<tr>
<th class="text-center">
Id
</th>
<th class="text-center">username</th>
<th class="text-center">email</th>
<th class="text-center">phone</th>
<th class="text-center">address1</th>
<th class="text-center">address2</th>
<th class="text-center">City</th>
</tr>
</thead>
<tbody>
<tr>
<td class="text-center">Here is user name</td>
<td class="text-center">email@email.com</td>
<td class="text-center">123456789</td>
<td class="text-center">address 1</td>
<td class="text-center">address 2</td>
<td class="text-center">city name</td>
</tr>
<tr>
<td class="text-center">Here is user name</td>
<td class="text-center">email@email.com</td>
<td class="text-center">99999999</td>
<td class="text-center">address 1</td>
<td class="text-center">address 2</td>
<td class="text-center">city name</td>
</tr>
<tr>
<td class="text-center">Here is user name</td>
<td class="text-center">email@email.com</td>
<td class="text-center">abcdef12</td>
<td class="text-center">address 1</td>
<td class="text-center">address 2</td>
<td class="text-center">city name</td>
</tr>
</table>
【问题讨论】:
-
您要打印什么? “电话”列下的值或每列的文本?
-
这很奇怪。如果您检查其中一行的
innerHTML,会返回什么? -
@undetetec selenium,我需要 phone 列下的值