基于包含文本的元素的XPath表达式

ssc*_*ert 2 selenium xpath

我的想法已经不多了.我已经为我的Selenium测试确定了一个基于其文本("安全管理员")的div.不幸的是,div包含另外两个div.查看示例.

<div class="rich-stglpanel-marker">
    <div class="rich-stglpnl-marker" id="j_id194:j_id198:2:j_id199_switch_on" style="display: none"></div>
    <div class="rich-stglpnl-marker" id="j_id194:j_id198:2:j_id199_switch_off"></div>
    security administrator 
</div>
<div class="rich-stglpanel-marker">
    <div class="rich-stglpnl-marker" id="j_id194:j_id198:2:j_id199_switch_on" style="display: none"></div>
    <div class="rich-stglpnl-marker" id="j_id194:j_id198:2:j_id199_switch_off"></div>
    technical administrator 
</div>
... and so on
Run Code Online (Sandbox Code Playgroud)

我试过这个表达式:

//div[text()='security administrator']
//div[text()='security administrator ']
//div[text()='security administrator&nbsp;']
//div[text()='security administrator${nbsp}'] (this is a special hack from selenium)
Run Code Online (Sandbox Code Playgroud)

什么都行不通.有任何想法吗?

提前致谢.

nih*_*neo 5

你可以尝试这个:

//div[contains(.,'security administrator')]
System.out.println(driver.findElementByXPath("//div[contains(.,'security adm')]").getText()) 
Run Code Online (Sandbox Code Playgroud)

给了我安全管理员