在字符串中使用变量 - WebDriver C#

时间:2018-01-04 13:24:16

标签: c# selenium selenium-webdriver string-interpolation

我正在尝试使用常用字符串作为变量来使我的代码更简洁,但Se​​lenium WebDriver不断抛出以下异常:

  

OpenQA.Selenium.WebDriverTimeoutException InvalidSelectorException:无效的选择器:指定了无效或非法的选择器

我认为可以通过字符串插值完成,如下所示:

string common = "\"[data - test - code ^= 'ABC'] > ";

new WebDriverWait(Driver.Instance, TimeSpan.FromSeconds(2)).Until(ExpectedConditions.ElementIsVisible((By.CssSelector($"{common}td.result__td.result__td--test > img"))));

......但没有快乐。有什么想法吗?

由于

1 个答案:

答案 0 :(得分:2)

Selenium无法处理data - test - code等属性。例如data-test-code(没有空格)是可以接受的。您需要找到另一种方法来定位该元素。

顺便说一句,你在选择器的开头有一个冗余的"