Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找不到XPath_Xpath_Selenium Webdriver - Fatal编程技术网

找不到XPath

找不到XPath,xpath,selenium-webdriver,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"

这是我的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>
但我正在寻找一个更好的答案,它将检查正确性,而不是某些超集。我需要一个选项,可以将字符串等同于,而不是使用包含。如果我遇到两个值JournalEntry\u tranIdJournalEntry\u tranId\u value的情况,则此操作将失败。请提供帮助

//tbody[@id='tgtFieldMapsTBody']/tr/td[img[contains(@onmouseover,'JournalEntry_tranId')]]/following-sibling::*
如果您正在查找(
/../
)的可选项,那么这应该可以使用。

您可以使用
contains()
您只需要在其周围包含起始和结束双引号,以获得所需的精确匹配

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

随着 XPath < /Cord>您尝试了更新您想要识别的元素吗?感谢您找到父元素的下一个td元素在这种情况下,您为什么不简单地查找下一个
td
元素,而不是查找上一个
td
元素,然后移动到
后面的兄弟元素?你能考虑更新HTML DOM来包含下一个<代码> TD/<代码>元素吗?感谢这是不可能的,因为下一个td元素不包含任何唯一标识。更新的HTML DOM。@live2learn,是否要基于
'JournalEntry\u tranId'
子字符串获取
?如果问题不清楚,我深表歉意。我需要一个选项,在这里我可以等同于字符串,而不是使用contains。如果有两个值JournalEntry\u tranId和JournalEntry\u tranId\u value,那么这将失败。
//tbody[@id='tgtFieldMapsTBody']/tr[1]/td/img[contains(@onmouseover,'\"JournalEntry_tranId\"')]/../following-sibling::*