如何使用Java 使用Selenium WebDriver获取父HTML标记

我有一个搜索 。 在以前的级别上,我有一个包含多个值的字段集。 这是我的问题。 我没有获得此字段集的定位器。

首先,我得到一个包含所有class=legend对象的列表:

List groupList = driver.findElements(By.className("legend"));

这很完美,我有一个包含几个Webelements的列表。

现在我想迭代此列表并仅保存上一级字段集中的每个值。 问题是Selenium找不到fieldset的id。

我尝试了tempGroupElement.getAttribute("id")来获取id,但它不起作用。

任何想法?
谢谢!

我在C#中有一个方法。

 public static IWebElement GetParent(IWebElement e) { return e.FindElement(By.XPath("..")); } 

希望能帮助到你 :)

您可以使用WebElement.findElement(By.xpath("parent::*"))

我试过,它适用于selenium。

这将在IWebElement之上创建一个扩展,它允许您直接在子IWebElement上调用GetParent

 public static class MyExtensions { public static IWebElement GetParent(this IWebElement node) { return node.FindElement(By.XPath("..")); } } 

用法示例……

 IWebElement node = WebDriver.FindElement('..'); IWebElement parent = node.GetParent();