属性を含み、親の親に別の属性を含むXpath要素
質問
これはここでの私の最初の投稿であり、私は多くの素晴らしい答えを見たので、私はそれを試してみると思いました。
XPathを使用して、HTMLドキュメントで特定の要素を取得しようとしています。これは、Google Webページに基づいた例です。
<html>
<head>
<title>XPath Test</title>
</head>
<body>
<form name='f'>
<table>
<tbody>
<tr>
<td>
<input name='q' type="text" />
</td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
上記の例を使用して(これは助けを求める目的で簡素化されています)、名前= 'Q'で入力要素を見つけたいと思っています。 '。
たとえば、私がこれを行う場合は、SWATの構文で、 http://ulti-swat.wikispaces.com, 、構文は次のとおりです。
| assertelementexists | expression | name = q; parentelement.parentelement.parentelement.parentelement.parentelement.name = f | input |
私はXPathを学び始めたばかりで、述語を軸と組み合わせる方法を理解しようとしています。 Xpathでこのような表現を行うことは可能ですか?もしそうなら、誰かが助けてくれますか?
解決
あなたがすることができます:
//input[@name='q' and ancestor-or-self::*[@name='f']]
// -- input element whose name='q' and who has an ancestor with the name='f'
また
//input[@name='q' and ../../../../../../*[@name='f']]
// -- input element whose name='q' and who is 5 parents up with the name='f'
このデスクトップを使用できます XPath Visualizer Xpath式をテストします。 a 基本的なチュートリアルはこちらをご覧ください.
所属していません StackOverflow