假設我有這個(簡體):如何使用XPath選擇任何深度的子元素?
<form id="myform">
<!-- some input fields -->
<input type="submit" value="proceed"/>
</form>
然後,我可以選擇與XPath //form[@id='myform']/input[@type='submit']
提交按鈕。大。
但是,我的模板可能會更改,我希望在提交按鈕所在的深度方面保持靈活性。它可能被放在一個表,像這樣:
<form id="myform">
<!-- some input fields -->
<table><tr><td>
<input type="submit" value="proceed"/>
</td></tr></table>
</form>
我知道我可以選擇哪些是孫子的元素,但我不能選擇盛大,隆重盛大-...-任何深度的childeren。例如:
//form[@id='myform']/*/input[@type='submit']
只選擇大孩子,沒有更深的深度。//form[@id='myform']/*/*/input[@type='submit']
只選擇盛大的孩子,沒有更多或更少的深度。//form[@id='myform']/**/input[@type='submit']
無效。
那麼,如何在不使用元素ID的情況下可靠地選擇此提交按鈕?
C#似乎不理解這種表示法。 '// form input'在C#中返回null,而Chrome可以使用相同的xpath找到35個輸入 – Achilles
我最近的評論在這裏討論:http://stackoverflow.com/questions/23232671/xpath-selects-in-htmlagilitypack- dont-work-as-expected – Achilles