2016-05-31 13 views
5

muszę używać apostrofu (') w moim wyrażenie XPath, które muszę używać w elementach stwierdzających użyciu webdriverJak korzystać z apostrofu (') na ścieżce xpath podczas znajdowania elementu za pomocą webdrivera?

muszę korzystać poniżej XPath ekspresji

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

podczas korzystania z powyższej wypowiedzi w elementach find funkcja jestem zastępując cudzysłowów z apostrofami

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

Odpowiedz

7

użyć XPath, jak pokazano poniżej:

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

Mam nadzieję, że to pomoże.

1

Musisz użyć podwójnych cudzysłowów jako ciąg znaków literowych XPath, ponieważ XPath 1.0 nie zapewnia sposobu na uniknięcie cytatów. Poza tym, można uniknąć podwójnej cytaty w języku Java, aby uniknąć go od sprzecznych z Java ciąg separatora, które również użyć cudzysłowia: Wykorzystanie charakter

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

Ucieczka nie służy cel .. Wypróbowałem funkcję łączenia i zadziałało jak urok. Zobacz poniższy xpath.

tag: li Menedżer Manager Workflow inicjatora/li

funkcji Łączy i podzielić ciąg as -

concat ('Menedżer Workflow Inicjator', "'", 's Menedżer')

pojedynczy cytat jest utrzymywana w podwójny cudzysłów podczas gdy inne znaki są przechowywane w pojedynczych cudzysłowach ..

Więc XPath wygląda -

//li[.=concat('Manager z Workflow Inicjator ' "'" 's Menedżer')]

nadzieję, że to pomaga. :)

+0

jeśli powyższe rozwiązanie nie następnie użyj poniższego rozwiązania, używając sekwencji ucieczki. Ścieżka: //li[.=\"Manager Menedżera Inicjatora przepływu pracy "" Tutaj traktujemy cały tekst jako ciąg. – Moin

0

jeśli powyższe rozwiązanie nie działa, użyj poniższego rozwiązania używając sekwencji ucieczki.

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

Tutaj traktujemy cały tekst jako ciąg przy użyciu znaku anulowania

Powiązane problemy