selenium 查找孩子的子元素

Eve*_*Eve 5 selenium xpath nested element parent-child

我有以下html:

<form name="form1">
  <input name="a" ...>
  <input name="b" ...>
  ...
  <div><span><select name="c">...</select></span></div>
</form>
Run Code Online (Sandbox Code Playgroud)

我想找出表单元素中的所有元素。首先我使用findElement()获取表单元素form1,然后使用form1.findElements(By.xpath(".//*[@name]"))获取其所有具有属性的子元素name。但是,对于select元素,既然它是 的曾孙子form1,我又如何得到它呢?

有没有办法找到包含属性的所有元素name(不仅是子元素,还有孩子的孩子的孩子......)form1

谢谢!

小智 7

如果你想通过 xpath 获取一个 WebElement,然后获取它的子元素......你可以使用webElement.findElement(By.xpath("./*"))......这个“。” 在“/”发挥作用之前,您将需要它来仅获取 webElement 的子项...


Rob*_*ham 0

您必须找到表单元素吗?如果没有,那么您可以使用 css 或 xpath 在一个 select 语句中完成此操作。

css 将为 'form[name="form1"] [name]'

请注意右括号和左括号之间的空间。

您可以将此选择器与驱动程序对象上的 FindElement 一起使用,而不是首先查找表单。