2017-05-30 18 views
-1

私のDOM構造は次のとおりです。XPathを見つけることができません

<td class="status"> 
     <span id="tgtFCell10"><img src="/saas/v389/images/check.png"></span> 
     <img src="/saas/v389/images/fm_meta.png" onmouseover="pnFieldMeta.show(this,event,FieldmapUtil.genMeta({"dt":"string","parent":"JournalEntry","updateable":true,"filterable":true,"uniqueName":"JournalEntry_tranId","nullable":true,"precision":256,"name":"JournalEntry_tranId","displayParentName":"JournalEntry","scale":0,"label":"JournalEntry_tranId"}))" onmouseout="pnFieldMeta.hide(this)">   
</td> 
<td class="name"></td> 

名前の値を使用して要素のxpathを探したいとします。私の現在のコードは

//tbody[@id='tgtFieldMapsTBody']/tr[1]/td/img[contains(@onmouseover,'JournalEntry_tranId')]/../following-sibling::* 

あるしかし、私は正確ではなく、いくつかのスーパーset.Iをチェックするより良い答えを探しています私は文字列を同一視するのではなくを使用してが含まれている可能オプションが必要です。 JournalEntry_tranIdJournalEntry_tranId_valueの2つの値がある場合は、これは失敗します。

+0

「xpath」に加えて、どの要素を識別しようとしているのかを確認することができますか?おかげで – DebanjanB

+0

親のすぐ次のtd要素を見つけることができません – live2learn

+0

その場合、前の 'td'要素を探して' following-sibling'に移動するのではなく、次の 'td'要素を探してみてください。 ?次の 'td'要素を含むようにHTML DOMを更新することを検討できますか?ありがとう – DebanjanB

答えて

0
//tbody[@id='tgtFieldMapsTBody']/tr/td[img[contains(@onmouseover,'JournalEntry_tranId')]]/following-sibling::* 

/../)のオプションを探している場合は、これが有効です。

+0

質問が不明な場合はお詫び申し上げます。 ** contains **を使うのではなく**文字列を** equate **できるオプションが必要です。 ** JournalEntry_tranId **と** JournalEntry_tranId_value **の2つの値がある場合、これは失敗します。 – live2learn

0

を使用すると、正確な一致を得るために前後に二重引用符を含めてください。

//tbody[@id='tgtFieldMapsTBody']/tr[1]/td/img[contains(@onmouseover,'\"JournalEntry_tranId\"')]/../following-sibling::* 
+0

上記のコードは機能しません。 – live2learn

+0

「うまくいかない」とはどういう意味ですか? – JeffC

関連する問題