【发布时间】:2019-03-12 03:18:53
【问题描述】:
我需要在一个非常长且复杂的 html 文档中找到一个 <input> 元素。 <input> 元素有一个带有 id 属性的祖先 <div> 元素。这是我所描述的示例 sn-p:
<div id="root">
<header>
<h1>Hello World</h1>
</header>
<div>
<div>
<form>
<input value="First Name">
<input value="Last Name">
</form>
</div>
</div>
</div>
我想找到值为“Last Name”的<input> 元素
我想我会通过它的 id 找到根 <div> 元素,然后找到它的第二个 <input> 类型的后代
我想象它可能看起来像这样:
#root **some magic** {
some styling
}
要找到“名字”<input>,我只需这样做:
#root input {
some styling
}
这将查看<div id="root"> 元素并找到<input> 类型的第一个后代。
如何使用与此类似的方法找到第二个?
我意识到,对于这个简单的示例,我可以简单地指定完整的 CSS 选择器或 Xpath,但我正在处理包含大量嵌套元素的大型 html 文档。
如果可能的话,我也很乐意使用 Xpath 而不是 CSS。
【问题讨论】:
-
那是您实际的 html 布局吗?还是在其他容器中输入?如果是前者,你可以试试
#root input:first-child -
实际布局来自 .jsx,因为应用程序是在 React 库中开发的。我把它作为一个例子包括在内sn-p
-
您在其中添加了 [selenium] 和 [automated-tests] 标签,但我没有看到任何使用它们的参考。
标签: html css css-selectors