Java 如何在selenium中找到具有相同xpath的匹配元素的匹配长度
我是Selenium新手,希望找到匹配xpath的节点长度 例如:Java 如何在selenium中找到具有相同xpath的匹配元素的匹配长度,java,selenium,xpath,Java,Selenium,Xpath,我是Selenium新手,希望找到匹配xpath的节点长度 例如: 我想用Selenium编写一个java代码来查找节点的长度。例如,如果我正在查找“tr”节点,我希望它的长度为4 xpath将是//html/body/table/tr您的xpath不正确。您还应该使用复数形式的findElements来查找多个元素。这将返回List,然后您只需调用size()即可获得标记的数量。试一试 int count = allocation.findElements(By.xpath("//htm
我想用Selenium编写一个java代码来查找节点的长度。例如,如果我正在查找“tr”节点,我希望它的长度为4
xpath将是//html/body/table/tr您的
xpath
不正确。您还应该使用复数形式的findElements
来查找多个元素。这将返回List
,然后您只需调用size()
即可获得
标记的数量。试一试
int count = allocation.findElements(By.xpath("//html/body/table/tbody/tr")).size();
我给出了绝对路径,因为您提供的html中没有和其他标识符,但不推荐使用。您的
xpath
不正确。您还应该使用复数形式的findElements
来查找多个元素。这将返回List
,然后您只需调用size()
即可获得
标记的数量。试一试
int count = allocation.findElements(By.xpath("//html/body/table/tbody/tr")).size();
我给出了绝对路径,因为您提供的html中没有和其他标识符,但不推荐使用它。在java中
用于计算行大小,
用于计算列大小,
你可以用另一种方法
List<WebElement> rows = tblData.findElements(By.tagName("tr"));
int rowCount = rows.size();
List rows=tblData.findElements(按.tagName(“tr”));
int rowCount=rows.size();
在java中
用于计算行大小,
用于计算列大小,
你可以用另一种方法
List<WebElement> rows = tblData.findElements(By.tagName("tr"));
int rowCount = rows.size();
List rows=tblData.findElements(按.tagName(“tr”));
int rowCount=rows.size();
如果从父节点进行遍历,则无需放置/
下面的xpath也适用于您
/html/body/table/tbody/tr
绝对XPath
绝对XPath以根节点或正斜杠(/)开头。
使用绝对值的优点是,它可以非常快速地识别元素。
这里的缺点是,如果任何事情出错或在两者之间添加了其他标记,则此路径将不再有效
例如:
如果我们定义的路径是
1. html/head/body/table/tbody/tr/th
如果在正文和表格之间添加了标签,如下所示
2. html/head/body/form/table/tbody/tr/th
第一个路径不能作为中间添加的“form”标记使用
相对XPath
相对XPath是一种路径从您选择的节点开始的XPath,它不需要从根节点开始
它以双正斜杠(/
)开头
语法:
//table/tbody/tr/th
使用相对xpath的优点是,您不需要提及长xpath,您可以从中间或中间开始
缺点是,当我们指定部分路径而不是(精确路径)时,识别元素将花费更多的时间
如果同一路径有多个元素,它将选择标识的第一个元素如果从父节点进行遍历,则无需放置
/
下面的xpath也适用于您
/html/body/table/tbody/tr
绝对XPath
绝对XPath以根节点或正斜杠(/)开头。
使用绝对值的优点是,它可以非常快速地识别元素。
这里的缺点是,如果任何事情出错或在两者之间添加了其他标记,则此路径将不再有效
例如:
如果我们定义的路径是
1. html/head/body/table/tbody/tr/th
如果在正文和表格之间添加了标签,如下所示
2. html/head/body/form/table/tbody/tr/th
第一个路径不能作为中间添加的“form”标记使用
相对XPath
相对XPath是一种路径从您选择的节点开始的XPath,它不需要从根节点开始
它以双正斜杠(/
)开头
语法:
//table/tbody/tr/th
使用相对xpath的优点是,您不需要提及长xpath,您可以从中间或中间开始
缺点是,当我们指定部分路径而不是(精确路径)时,识别元素将花费更多的时间
如果同一路径有多个元素,它将选择标识的第一个元素尝试使用维度accounts=allocation.findElement(By.xpath(“td[2]/table/tbody/tr”))查找长度。getSize();但是维度没有给出正确的值,无法使用维度accounts=allocation.findElement(By.xpath(“td[2]/table/tbody/tr”).getSize()查找长度;但是维度没有给出正确的值我可以得到指定xpath的长度谢谢你的帮助我可以得到指定xpath的长度谢谢你的帮助