2014-05-09 5 views
0

J'essaie de trouver et de sélectionner un élément par son texte interne. Mon script navigue vers une boîte de réception dans laquelle je dois sélectionner un courrier électronique spécifique. Tous les courriels dans la boîte de réception ont les mêmes identifiants et la classe où ils diffèrent est le texte interne de la classe.Comment trouver un élément par son texte interne avec webdriver

J'ai essayé les variantes suivantes et d'autres sans succès.

driver.findElement(By.xpath("//div[text()=\\"REMINDER: Your Password Expires in 2 days\\"]")); 

HTML:

<div id="divSubject" class="c3 ur">REMINDER: Your Password Expires in 2 days</div> 
<div id="divSubject" class="c3 ur">REMINDER: Your Password Expires in 3 days</div> 
<div id="divSubject" class="c3 ur">REMINDER: Your Password Expires in 4 days</div> 

Répondre

0

Ce qui suit devrait fonctionner:.

driver.findElement(By.xpath("//div[contains(text(),'REMINDER: Your Password Expires in 2 days')]")); 

En outre, votre problème est peut-être avec l'échappement de la » Cela devrait également, en théorie, le travail :

driver.findElement(By.xpath("//div[text()='REMINDER: Your Password Expires in 2 days']")); 

J'ai testé les deux selecto rs dans Chrome, les deux semblent fonctionner.

Questions connexes