使用变量作为Selenium 2 Webdriver by.cssselector的选择器

时间:2011-04-11 16:02:53

标签: c# selenium automation webdriver

我正在使用Visual Studio 2010在C#中编写Selenium 2 Webdriver自动化测试。 我已经搜索了使用变量作为选择器的示例的高低,并且发现似乎没有任何效果。我发现一个用作选择器的变量的例子有一个带有$前缀的变量,并用{}括起来。 我想要做的一个例子如下:

string surveyName = "Selenium test survey";
Driver.FindElement(By.CssSelector("tr[svd='${surveyName}']"))

我收到错误:

OpenQA.Selenium.WebDriverException : Unexpected error. Unable to find element using     css: tr[svd='${surveyName}']

如果我'硬编码'这样的选择器:

Driver.FindElement(By.CssSelector("tr[svd='Selenium test survey']"))

找到元素。

svd是tr元素的属性。我试图通过此属性的值选择表中的行。每个测试的文本都不同,因此必须是变量。

我尝试过多种不同的方式表达变量,但没有运气使这项工作成功。任何帮助将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:4)

string surveyName = "Selenium test survey";
Driver.FindElement(By.CssSelector(String.Format("tr[svd='{0}']", surveyName))

会做你想要的。这是c#所以当它需要一个字符串时,你可以做各种事情来获得该字符串