2012-09-19 17 views
14

Desidero utilizzare i caratteri jolly nei miei attributi. Ad esempio, questo è il mio XPath regolare:Utilizzo di caratteri jolly XPath negli attributi in Selenium WebDriver

//input[@id='activation:j_idt84:voId:1']` 

Voglio sostituire il numero j_idt con un carattere jolly perché il numero è dinamico. Sto cercando qualcosa del genere:

//input[@id='activation:*:voId:1'] 

Non so come risolvere quel problema. La mia idea è persino possibile?

risposta

24

Sfortunatamente non ci sono caratteri jolly di stringa in XPath. Tuttavia è possibile utilizzare più e starts-with() per filtrare cose come questa.

//input[starts-with(@id, 'activation:') and contains(@id, ':voId:1')] 

Inoltre, questa risposta potrebbe essere utile anche: selenium: Is it possible to use the regexp in selenium locators

+0

grazie, opere questa soluzione perfettamente! –

2

È possibile jolly uso stringa utilizzando la funzione di matches che è disponibile in XPath 2.0:

//input[matches(@id, 'activation:.*:voId:1')] 
+0

In questo modo non funziona nel mio codice. La soluzione di complex857 funziona. Ma grazie mille! –

+2

Il selenio [delegati xpath al browser sottostante] (http://code.google.com/p/selenium/issues/detail?id=3009) quindi, una volta implementati dai browser, dovrebbe iniziare a funzionare. – complex857

Problemi correlati