正在从 table 检索搜索结果

Retrieving searched results from table

如何将 table 中的所有搜索值存储到列表中?我无法找到 table 结果。

WebElement names = driver.findElement(By.xpath("//*[@id='idnumber']/div[3]/table"));
Thread.sleep(100000);

List<WebElement> TotalRowCount = names.findElements(By.xpath("//*[@id='idnumber']/div[3]/table/tbody[2]/tr"));

System.out.println(TotalRowCount);

即使是这个基本代码,它也会给出无法定位元素的错误。

首先,我想从 table 中查找元素,然后我想 select 该搜索值的单选按钮。请帮助我们。

你必须先解决你的问题,我的意思是看起来你使用了错误的 xpath 来定位 elements.if 你不确定如何找到你的元素的 xpath,请去 Is there a way to get the xpath in google chrome?.

你的System.out.println(rowCount);对我来说没有意义,它只是打印出该对象的字符串表示形式,您应该使用 rowcount.size();

在您可以正确定位您的网络元素之后,您可以使用 for 循环从您的 table.

中获取所有行

有几个问题。

1) 您的第一行是在 names 中存储一个 TABLE 标签,然后第三行是在 below names 中使用 names.findElements() 但您的第二个 XPath 包含来自第一个元素的 XPath。除非您有嵌套表,否则两者都具有相同的结构,这很可能是问题所在。

2) 为什么这些行之间有一个sleep(),更不用说这么长了?没有理由。

3) 您的系统输出不会打印任何人类可读的内容。

试试这个:

List<WebElement> TotalRowCount = driver.findElements(By.xpath("//*[@id='idnumber']/div[3]/table/tbody[2]/tr"));
System.out.println(TotalRowCount.size());

您应该花一些时间阅读一些 Java 和 Selenium 教程。拿起一两本书阅读它们,以便更好地理解您正在尝试做的事情。