2013-09-02 14 views
12

Sto cercando di avere xpath trovare un div e verificare che lo div abbia uno specifico string di testo all'interno.Selenium e xpath: trovare un div con una classe/id e verificare il testo all'interno di

Ecco il HTML:

<div class="Caption"> 
    Model saved 
</div> 

e

<div id="alertLabel" class="gwt-HTML sfnStandardLeftMargin sfnStandardRightMargin sfnStandardTopMargin"> 
    Save to server successful 
</div> 

Questo è il codice che sto utilizzando in questo momento:

viewerHelper_.getWebDriver().findElement(By.xpath("//div[contains(@class, 'Caption' and .//text()='Model saved']")); 
viewerHelper_.getWebDriver().findElement(By.xpath("//div[@id='alertLabel'] and .//text()='Save to server successful']")); 

In particolare:

//div[contains(@class, 'Caption' and .//text()='Model saved'] 
//div[@id='alertLabel'] and .//text()='Save to server successful'] 

risposta

24

per verificare questo: -

<div class="Caption"> 
    Model saved 
</div> 

Write questo -

//div[contains(@class, 'Caption') and text()='Model saved'] 

e di verificare questo: -

<div id="alertLabel" class="gwt-HTML sfnStandardLeftMargin sfnStandardRightMargin sfnStandardTopMargin"> 
    Save to server successful 
</div> 

Write questo -

//div[@id='alertLabel' and text()='Save to server successful'] 
+0

Solo per curiosità, c'è un modo per raggiungere lo stesso obiettivo come sopra usando 'findElement (By.className ("") '? Se è così, dove sarebbe il testo da verf va? Grazie. – Siva

4

per tenere conto di spazi iniziali e finali, probabilmente desidera utilizzare normalize-space()

//div[contains(@class, 'Caption') and normalize-space(.)='Model saved'] 

e

//div[@id='alertLabel' and normalize-space(.)='Save to server successful'] 

noti che //div[contains(@class, 'Caption') and normalize-space(.//text())='Model saved'] funziona anche.

0

Per la classe e il testo -

// div [contiene (@ classe, 'didascalia') e (il testo(), 'Modello salvato')]

e

Per la classe e id -

// div [contiene (@ classe, 'GWT-HTML') e @ id = "alertLabel"]

+0

Primo xpath non valido (selezionato con FirePath) – Andrejs

Problemi correlati