首页 > 解决方案 > 如何确定元素的相对/部分 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”的答案。它的返回绝对路径。有没有办法将绝对路径转换为相对路径或直接获取相对/部分路径?

标签: javaseleniumselenium-webdriver

解决方案


推荐阅读