在WebDriver中验证HTML表数据

在WebDriver中验证HTML表数据,html,webdriver,selenium-webdriver,Html,Webdriver,Selenium Webdriver,有人能告诉我如何使用WebDriver验证HTML表中的数据吗 HTML如下所示。我需要验证网页上的值xyz、abcd、1234、5678 <table> <tr> <td>xyz</td> <td>abcd</td> </tr> <tr> <td>1234</td> <td>5678</td> </tr> </table>

有人能告诉我如何使用WebDriver验证HTML表中的数据吗

HTML如下所示。我需要验证网页上的值xyz、abcd、1234、5678

<table>
<tr>
<td>xyz</td>
<td>abcd</td>
</tr>
<tr>
<td>1234</td>
<td>5678</td>
</tr>
</table>

xyz
abcd
1234
5678
提前谢谢

mra.

请记住问题的摘录:

我需要验证网页上的值xyz、abcd、1234、5678

<table>
<tr>
<td>xyz</td>
<td>abcd</td>
</tr>
<tr>
<td>1234</td>
<td>5678</td>
</tr>
</table>
我建议您尝试使用定位器识别这些值,然后断言/验证相同的值

在这个例子中,我使用了XPath(为了清晰起见有点冗长)作为定位策略。希望这能有所帮助

    try {
    assertEquals("xyz", driver.findElement(By.xpath("//table//tr[1]/td[1]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
try {
    assertEquals("abcd", driver.findElement(By.xpath("//table//tr[1]/td[2]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
try {
    assertEquals("1234", driver.findElement(By.xpath("//table//tr[2]/td[1]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
try {
    assertEquals("5678", driver.findElement(By.xpath("//table//tr[2]/td[2]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}

记住你的问题摘录:

我需要验证网页上的值xyz、abcd、1234、5678

<table>
<tr>
<td>xyz</td>
<td>abcd</td>
</tr>
<tr>
<td>1234</td>
<td>5678</td>
</tr>
</table>
我建议您尝试使用定位器识别这些值,然后断言/验证相同的值

在这个例子中,我使用了XPath(为了清晰起见有点冗长)作为定位策略。希望这能有所帮助

    try {
    assertEquals("xyz", driver.findElement(By.xpath("//table//tr[1]/td[1]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
try {
    assertEquals("abcd", driver.findElement(By.xpath("//table//tr[1]/td[2]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
try {
    assertEquals("1234", driver.findElement(By.xpath("//table//tr[2]/td[1]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
try {
    assertEquals("5678", driver.findElement(By.xpath("//table//tr[2]/td[2]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}

您的方法将取决于该表是否只包含2行和2列。行和列是否总是以相同的顺序存在?如果不是,那么之前的xcode示例提供程序将起作用,如果不是,您可能需要更具创造性

我以前使用过的一种在表格中爬行的方法与此类似

定义表示表的WebElement

WebElement yourTable = driver.findElement(By.tagname("table"));
接下来,创建表示表中每一行的WebElements列表

List<WebElement> tableRows = yourTable.findElements(By.tagname("tr");
List tableRows=yourTable.findElements(按.tagname(“tr”);
最后,您可以遍历表中的行,直到找到要查找的数据

for(int i=0; i<tableRows.size(); i++){
    WebElement row  = tableRows.get(i);
    now do whatever you want with your WebElement that represents a single row of the table;
    }

for(int i=0;i您的方法将取决于该表是否只包含2行和2列。行和列是否总是以相同的顺序存在?如果不是,那么之前的xcode示例提供程序将起作用,如果不是,您可能需要更具创造性

我以前使用过的一种在表格中爬行的方法与此类似

定义表示表的WebElement

WebElement yourTable = driver.findElement(By.tagname("table"));
接下来,创建表示表中每一行的WebElements列表

List<WebElement> tableRows = yourTable.findElements(By.tagname("tr");
List tableRows=yourTable.findElements(按.tagname(“tr”);
最后,您可以遍历表中的行,直到找到要查找的数据

for(int i=0; i<tableRows.size(); i++){
    WebElement row  = tableRows.get(i);
    now do whatever you want with your WebElement that represents a single row of the table;
    }
for(int i=0;i