2017-05-30 106 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,那麼這將失敗。很好的幫助。

+0

隨着你嘗試'xpath'你能否考慮更新我們哪個元素,你試圖識別?謝謝 – DebanjanB

+0

Wan找到父母的下一個td元素 – live2learn

+0

在那種情況下,爲什麼不簡單地嘗試找到下一個'td'元素,而不是定位前一個'td'元素,然後移動到'follow-sibling' ?你能否考慮更新HTML DOM以包含下一個'td'元素?謝謝 – DebanjanB

回答

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

如果你正在尋找一個可選的(/../),那麼這應該工作。

+0

如果問題不清楚,我表示歉意。我需要一個選項,可以**將字符串**等同於使用**包含**。如果我遇到** JournalEntry_tranId **和** JournalEntry_tranId_value **兩個值的情況,那麼這將失敗。 – live2learn

0

您可以使用您只需要在其周圍包含起始和結尾的雙引號以獲得所需的精確匹配。

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

上面的代碼不起作用。 – live2learn

+0

「不起作用」是什麼意思? – JeffC

相關問題