首页 > 解决方案 > 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,作为测试,我想确保第 1 行确实有 A、B、C、D。
  2. 场景 2,作为测试,我想确保 A 有 B 而不是 B1。

我用Java编码。

感谢您的帮助。

标签: javaselenium

解决方案


这应该让您从第一个 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());
}

还不确定第二个。


推荐阅读