あなたが望む要素がそのidのn番目の出現であることを知っていれば、Martinの提案が有効になります。
複数の属性を検索して要素を定義することで結果を絞り込むこともできます。たとえば、特定の名前またはクラスのdiv要素に対してIDが一意であることがわかります。そして、あなたが他の要素に相対的に検索することによって、あなたが望む要素を見つけることができるかもしれませんあなたのために十分ではそうでない場合があり
//div[@id='hello' and @name='world']
。
<root>
<div id='parent1'>
<div id='element1' />
<div id='element2' />
</div>
<div id='parent2'>
<div id='element1' name='foo' />
<div id='element2' name='bar' />
</div>
</root>
あなたは、次の方法で第二の要素2得ることができます::XMLを考えると
/root/div[2]/div[2]
//div[@id='parent2']/div[@id='element2']
//div[@id='element2' and name='bar']
//div[@id='element1' and @name='foo']/../div[@id='element2']
出典
2011-12-23 09:44:52
Edd
は、重複 'id'sでサンプルを含めますか? – MattH
これらの要素のうちの特定の要素を取得するXPath式を提供するようにお願いしていますか?または、要素を受け取り、そのノードを選択するXPath式を吐き出すJavaScript関数を探していますか? –
@Iwburk:要素を受け取り、そのXPathを返す関数を探しています。 –