无法找到XPath

时间:2017-05-30 11:02:15

标签: xpath selenium-webdriver

这是我的DOM结构。

<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::*

但我正在寻找一个更好的答案,它会检查是否准确而不是一些超级设置。我需要一个选项,我可以等于字符串而不是使用包含。如果我有一个案例,其中有两个值 JournalEntry_tranId JournalEntry_tranId_value ,那么这将失败。请提供帮助。

2 个答案:

答案 0 :(得分:0)

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

如果您正在寻找(/../)的可选项,那么这应该可行。

答案 1 :(得分:0)

您可以使用contains()只需要在其周围加上起始和结束双引号即可获得所需的完全匹配。

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