xpath - 如何使用 XPath 选择任意深度的子元素?

标签 xpath

假设我有这个(简化的):

<form id="myform">
    <!-- some input fields -->
    <input type="submit" value="proceed"/>
</form>

然后我可以通过XPath选择提交按钮//form[@id='myform']/input[@type='submit'] 。太棒了。

但是,我的模板可能会发生变化,并且我希望提交按钮所在的深度具有灵 active 。它可以放在表格中,如下所示:

<form id="myform">
    <!-- some input fields -->
    <table><tr><td>
           <input type="submit" value="proceed"/>
    </td></tr></table>
</form>

我知道我可以选择孙元素,但我无法选择任何深度的孙-孙-孙-...-子元素。例如:

  • //form[@id='myform']/*/input[@type='submit']只选孙子,不再深入。
  • //form[@id='myform']/*/*/input[@type='submit']只选孙孙,不深不深。
  • //form[@id='myform']/**/input[@type='submit']无效。

那么,如何在不使用元素 ID 的情况下可靠地选择此提交按钮?

最佳答案

你就快到了。只需使用:

//form[@id='myform']//input[@type='submit']

// 快捷方式也可以在表达式内使用。

关于xpath - 如何使用 XPath 选择任意深度的子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16016521/

相关文章:

xml - 编写 XSLT 将带有属性名称的 XML 转换为标签

python - 在 python selenium 中使用 get_attribute() 查找 xpath

css - 在 Google 搜索上查找 "Next"按钮的正确 xpath

javascript - 你如何在 javascript 中使用多个引号?

r - 快速读取xml文件并转换为数据框

python - Scrapy 的 XPath 中的 OR 条件

python - 获取指向包含某些文本的标签的xpath

xpath - Selenium IDE - 如何在 Firefox 插件中记录 xpath

xml - 在 <xsl :sort select =""/> 中使用变量

regex - 我如何在 xpath 1.0 中使用正则表达式