Warm tip: This article is reproduced from stackoverflow.com, please click
c# selenium selenium-webdriver winforms xpath

How to pass string to an XPath containing text?

发布于 2020-04-11 22:05:31

I get id of a text which is in selected mode using Selenium Webdriver by using this code:

String requiredId = driver.FindElement(By.XPath("//option[@selected='selected' and .='Blue']/..")).GetAttribute("id");

How can i pass string getColourin place of Blue?

Thank you

Questioner
by dukaan
Viewed
74
Muzzamil 2020-02-02 13:17

You can pass a string this way. Try below code

    string getColourin = "Red";
    String requiredId = driver.FindElement(By.XPath("//option[@selected='selected' and .='" + getColourin +"']/..")).GetAttribute("id");

OR

using string.Format

string xpathBefore = "//option[@selected='selected' and .='{0}']/..";
string getColourin = "Red";
string finalXpath = string.Format(xpathBefore, getColourin);

String requiredId = driver.FindElement(By.XPath(finalXpath)).GetAttribute("id");