gpt4 book ai didi

java - 如何获取表格内的文本并迭代多个

转载 作者:行者123 更新时间:2023-11-30 10:42:25 26 4
gpt4 key购买 nike

我有一个正式的 HTML

 <tbody>
<tr>
<td> Test1 </td>
<td> .. </td>
<tr/>
<tr> ... </tr>
</tbody>
<tbody>
<tr>
<td> Test2 </td>
<td> .. </td>
<tr/>
<tr> .. </tr>
</tbody>
<tbody>
<tr>
<td> Test3 </td>
<td> .. </td>
<tr/>
<tr> .. </tr>
</tbody>

我需要一个字符串列表 Test1、Test2、Test3。我不太确定如何遍历所有 tbody 并进入 tr 并获得正确的 td。有人能指出我正确的方向吗?我怎样才能将 xpath 生成到那些特定元素中?他们没有任何ID

我正在研究 webDriver.findElements()。我可以用它来遍历 tbody 吗?如果是怎么办?

我尝试执行以下操作:

driver = new FirefoxDriver();
driver.get(..);
WebElement telem = driver.findElement(By.cssSelector("td"));
List<WebElement> tr_collection=telem.findElements(By.cssSelector("td"));

这似乎并没有得到所有的Test1、Test2、Test3字符串。不幸的是,HTML 没有我可以使用的 ID。我如何遍历所有这些?

最佳答案

与 Ranjith 的相同,但使用 Java 8 和 xPath:

List<String> inOneStatement = driver.findElements(By.xpath("//tbody/tr[1]/td[1]")) //List<WebElement> that contains 3 td that hold the desired strings
.stream().map(WebElement::getText) //accumulate the outputs from getText of each of those elements
.collect(Collectors.toList()); // return them as List<String>

抱歉,没有在IDE中检查代码,可能有错误。

注意:我永远不会在实际测试框架中使用这个 xPath 定位器,但为了构建更好的框架,我们需要更多上下文(完整页面源)。

关于java - 如何获取表格内的文本并迭代多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38147036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com