如何使用Selenium在表格中查找特定行?

Kor*_*gay 9 selenium automated-tests web-testing gui-testing selenium-webdriver

这是一个示例代码:

<div id="productOrderContainer">
<table class="table gradient myPage">
Run Code Online (Sandbox Code Playgroud)

因此,在productOrderContainer中的这个表有几列,并且根据几个东西将有几行,它们都有几列.一个例子是:

我想要做的是例如获取此表的第一行.(行具有如下的id <td rowspan="1">:)然后再例如在此rowspan中查找特定值中的特定值<div>

所以在psudo-code中我想说的是:

把我拿到桌子上,给我第n排,让我获得价值 <div id='something'>

Pra*_*kla 36

你可以尝试以下

int index = 0;
WebElement baseTable = driver.findElement(By.className("table gradient myPage"));
List<WebElement> tableRows = baseTable.findElements(By.tagName("tr"));
tableRows.get(index).getText();
Run Code Online (Sandbox Code Playgroud)

您还可以迭代表格以执行所需的任何功能.


Ros*_*son 5

你要:

int rowNumber=...;
string value = driver.findElement(By.xpath("//div[@id='productOrderContainer']/table/tbody/tr[" + rowNumber +"]/div[id='something']")).getText();
Run Code Online (Sandbox Code Playgroud)

换句话说,找到<DIV>与包含在内部的ID"东西" rowNumber<TR><TABLE>包含内<DIV>id为"productOrderContainer",然后得到其文本值(这是什么,我相信你的意思"让我的价值<div id='something'>"