XPath expression for element based on containing text
12,910
Can you try with this :
//div[contains(.,'security administrator')]
System.out.println(driver.findElementByXPath("//div[contains(.,'security adm')]").getText())
gave me security administrator
![ssc-seifert](https://i.stack.imgur.com/Kgqhf.jpg?s=256&g=1)
Author by
ssc-seifert
Updated on June 05, 2022Comments
-
ssc-seifert about 2 years
I'm running out of ideas. I have identified for my Selenium test an div based on its text ("security administrator ") contained. Unfortunately, the div contains two other divs. See the example.
<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
I tried that expressions:
//div[text()='security administrator'] //div[text()='security administrator '] //div[text()='security administrator '] //div[text()='security administrator${nbsp}'] (this is a special hack from selenium)
Nothing works. Any ideas?
Thanks in advance.