我正在尝试使用常用字符串作为变量来使我的代码更简洁,但Selenium 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"))));
......但没有快乐。有什么想法吗?
由于
答案 0 :(得分:2)
Selenium无法处理data - test - code
等属性。例如data-test-code
(没有空格)是可以接受的。您需要找到另一种方法来定位该元素。
顺便说一句,你在选择器的开头有一个冗余的"
。