示例,如果我有
<form name="blah">
<input name="1"/>
<input name="2"/>
<table>
<tr>
<td>
<unkown number of levels more>
<input name="3"/>
</td>
</tr>
<table>
</form>
如何组合将返回输入1,2和3的查询?
编辑:我应该注意到我对抓取所有页面上的输入元素不感兴趣,我只想要所有输入元素都是特定形式的子元素,所以“//”马上就出来了。
答案 0 :(得分:7)
使用//
搜索,无论级别如何。请记住,这是一个“昂贵”的搜索。因此,您可以指定的上下文越多,XPath就可以调用它。
/html/path/to/form//input
是优选的。如果你在形式的背景下,甚至更好。您的XPath查询看起来更像:
form//input
或者如果你只是想要'blah'形式的孩子:
form[@name='blah']//input
答案 1 :(得分:2)
使用双正斜杠,所以//input
将选择所有输入元素,无论层次结构如何。
如果您只想要表单元素中的所有输入标记,请使用 // form / input /form//input
。
编辑:是的,谢谢校正克拉根。