How to use apostrophe (') in xpath while finding element using webdriver?

35,748

Solution 1

Use the xpath as shown below:

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

Hope this helps.

Solution 2

You have to use double-quotes as your XPath string literal delimiter, since XPath 1.0 doesn't provide a way of escaping quotes. In addition to that, you can escape the double-quotes in Java, to avoid it from conflicting with your Java string delimiter, which also use double-quotes :

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

Solution 3

The Escape character usage does not serve the purpose. I tried the concatenation function and it worked like a charm. Please see the below xpath.

tag: li Manager of Workflow Initiator's Manager /li

Concatenate function and split the string as –

concat('Manager of Workflow Initiator',"'",'s Manager')

Single quote is kept in double quote while other characters are kept in single quotes..

So XPath looks as –

//li[.=concat('Manager of Workflow Initiator',"'",'s Manager')]

Solution 4

if the above solution doesn't work then use the below solution using escape sequence.

xpath: //li[.=\"Manager of Workflow Initiator's Manager\"]

Here we are treating the whole text as a string using the escape character

Share:
35,748

Related videos on Youtube

dolittle
Author by

dolittle

Updated on July 09, 2022

Comments

  • dolittle
    dolittle almost 2 years

    I need to use apostrophe (') in my xpath expression which i need to use in finding elements using webdriver

    i need to use below Xpath expression

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

    while using the above expression in find elements function i am replacing double quotes with single quotes

    driver.findelements(By.xpath("//input[@text='WE'd like to hear from you']"))
    
  • Moin
    Moin over 6 years
    if the above solution doesn't work then use the below solution using escape sequence. xpath: //li[.=\"Manager of Workflow Initiator's Manager\"] Here we are treating the whole text as a string.
  • Ashok kumar Ganesan
    Ashok kumar Ganesan over 2 years
    In my case, the text I get is dynamic either with single quotes or without. How would we handle dynamically