2016-05-31 8 views
5

ho bisogno di usare l'apostrofo (') nella mia espressione XPath che ho bisogno di usare in elementi che trovano utilizzando WebDriverCome utilizzare l'apostrofo (') in xpath mentre si trova l'elemento usando il webdriver?

ho bisogno di usare sotto espressioni XPath

//input[@text="WE'd like to hear from you"] 

durante l'uso della espressione di cui sopra in elementi find funzione sto sostituendo le doppie virgolette con le virgolette singole

driver.findelements(By.xpath("//input[@text='WE'd like to hear from you']")) 

risposta

7

Utilizzare XPath come illustrato di seguito:

driver.findElements(By.xpath("//input[contains(@text,\"WE'd\"]")); 

Spero che questo aiuti.

1

È necessario utilizzare virgolette come il delimitatore di stringa XPath XPath, poiché XPath 1.0 non fornisce un modo per sfogliare le virgolette. In aggiunta a ciò, si può sfuggire le virgolette in Java, per evitare che in conflitto con il vostro Java stringa delimitatore, che utilizzano anche i doppi apici: utilizzo carattere

driver.findelements(By.xpath("//input[@text=\"WE'd like to hear from you\"]")) 
0

La fuga non servire il scopo .. Ho provato la funzione di concatenazione e ha funzionato come un fascino. Si prega di consultare il seguente xpath.

tag: Li Direttore Responsabile del Workflow iniziatore/li

funzione Concatenate e dividere la stringa come -

concat ('responsabile di Workflow iniziatore', "'", 's Manager')

preventivo singolo è tenuto in virgolette mentre gli altri personaggi sono tenuti in virgolette singole ..

Così XPath sembra -

//li[.=concat('Manager di Workflow iniziatore ' "'", 's Manager')]

Spero che questo aiuti. :)

+0

se la soluzione di cui sopra non lavorare quindi utilizzare la soluzione sottostante utilizzando la sequenza di escape. xpath: //li[.=\"Manager of Workflow Initiator's Manager \ "] Qui stiamo trattando l'intero testo come una stringa. – Moin

0

se la soluzione di cui sopra non funziona, utilizzare la soluzione seguente utilizzando la sequenza di escape.

XPath: //li[.=\"Manager di Manager \ di Workflow iniziatore "]

Qui stiamo trattando tutto il testo come una stringa utilizzando il carattere di escape

Problemi correlati