span元素的Xpath标识符,其中包含“i”标记

时间:2017-02-13 15:35:09

标签: xpath selenium-webdriver

尝试找出下面提到的html代码的元素的xpath。

Xpath适用于

//span[@title='Open']

但不是

//span[text()='Open']

尝试找出带有span和text的xpath。如何做到这一点

<span class="m-t-5">
<span class="label statusopen" title="Open" onclick="javascript:toggleHistoryTab(this,'tw_831158485664530432','2302','SOLR','-1','s360-379359269');" style="cursor: pointer; text-decoration: none;">
<i class="fa fa-envelope-open-o"/>
Open
</span>
</span>

在我的测试用例中,更合适的一个是找到文本“打开”。

2 个答案:

答案 0 :(得分:0)

这个XPath,

//span[normalize-space()='Open'][not(.//span)]

将选择其标准化字符串值为span的{​​{1}}元素,并排除父"Open"元素,例如您span示例中的元素。

答案 1 :(得分:0)

如果 span元素需要XPath,其中包含“i”标记,您可以尝试:

//span[i]

如果您需要更具体的XPath span元素,其中包含“i”标记,包含文本“打开”

//span[i[normalize-space(text())="Open"]]