java - 如何确定元素的相对/部分 xpath?
问题描述
我正在尝试打印页面上所有元素的 xpath。我正在查找页面的所有元素并将其添加到列表中。这是我尝试过的:
driver.get("http://www.google.com/");
List<WebElement> ele = driver.findElements(By.xpath("//*"));
int size = ele.size();
System.out.println(size);
for (WebElement el : ele)
{
String text = el.getText();
System.out.println(text + " -- " + el);
}
当前,在运行代码时,它会打印完整的元素,例如:
About -- [[ChromeDriver: chrome on XP (88e27720e873e9eedfd7819a8601fea2)] -> xpath: //*]
我想要的是这样打印(相对xpath或部分xpath):
About -- //*[@id='fsl']/a[3]
注意:我已经在评论中尝试了“想要检索给定 WebElement 的 Xpath”的答案。它的返回绝对路径。有没有办法将绝对路径转换为相对路径或直接获取相对/部分路径?
解决方案
推荐阅读
- flutter - 如何为颤动的网页提供互联网连接?
- python - 有条件地将一个 DataFrame 列中的值替换为另一列中的值
- c# - 在 Visual Studio 2019 的添加新项目中缺少 JSON 文件类型
- java - Kafka 消费者无法在 Windows 上读取数据
- javascript - 雷达形状 - 雷达图 js
- javascript - 为什么不执行toggleClass?
- kubernetes-helm - 如何在 helm 图表中使用 if 条件
- security - 如何在长时间运行的后台进程中正确使用访问令牌?
- powershell - Nessus IO Powershell API HTML/PDF 报告
- python - os.open 的误导性文档?