java - Selenium:表关系
问题描述
鉴于这个简单的表
<html>
<head>
<title>Sample</title>
</head>
<body>
<table border="1">
<tbody>
<tr>
<td>header 1</td>
<td>header 2</td>
</tr>
<tr>
<td>A</td>
<tb>B</td>
</tr>
</tbody>
</table>
</body>
header 1 header 2 header 3 header 4
A B C D
A1 B1 C1 D1
A2 B2 C2 D2
使用 selenium 处理行关系的最佳方法是什么。例子 :
- 场景 1,作为测试,我想确保第 1 行确实有 A、B、C、D。
- 场景 2,作为测试,我想确保 A 有 B 而不是 B1。
我用Java编码。
感谢您的帮助。
解决方案
这应该让您从第一个 tr 中获得 tds 并根据需要对其进行测试。
WebElement tr = driver.findElement(By.xpath("/table/tbody/tr[1]"));
List <WebElement> tds =tr.findElements(By.tagName("td"));
//tds[1].getText()=="A" and so forth
for (WebElement td: tds)
{
System.out.println(td.getText());
}
还不确定第二个。
推荐阅读
- php - 如何从mysql表中检索数据
- arrays - 如何在 Teradata 中将 3 条记录拼合为一条?
- google-cloud-firestore - 如何使用 Firestore 安全规则 resource.id 字段?
- javascript - 具有固定列的可滚动表,固定大小相同
- android - 我可以使用订阅主题而不是维护令牌而没有性能滞后吗
- django - 如何更新数据库Django中的字段?
- bash - 连接 awk 输出、字符串和文本文件
- android-layout - 如何在 nativescript 中使 Label 元素内联?
- sql-server - 如何将数据从多个 T-SQL 查询迁移到单个表?
- sql - 如何使用在某些情况下可以覆盖的默认数据设计数据库