如何从XPath中的标记中选择一个未知数量级别的节点?

gct*_*gct 1 xml xpath lxml

例如,如果我有

<form name="blah">
   <input name="1"/>
   <input name="2"/>
   <table>
      <tr>
        <td>
          <unkown number of levels more>
           <input name="3"/>
        </td>
      </tr>
   <table>
</form>
Run Code Online (Sandbox Code Playgroud)

如何组合将返回输入1,2和3的查询?

编辑:我应该注意到我对抓取页面上的所有输入元素不感兴趣,我只想要所有输入元素都是特定形式的子元素,所以"//"就是正确的.

Jon*_*n W 7

//无论级别如何,都可以使用搜索.请记住,这是一个"昂贵"的搜索.因此,您可以指定的上下文越多,XPath就可以调用它.

/html/path/to/form//input
Run Code Online (Sandbox Code Playgroud)

是优选的.如果你在形式的背景下,甚至更好.您的XPath查询看起来更像:

form//input
Run Code Online (Sandbox Code Playgroud)

或者如果你只是想要'blah'形式的孩子:

form[@name='blah']//input
Run Code Online (Sandbox Code Playgroud)