我试图将CssSelector传递到自定义的wait方法中,但是我正在努力弄清为什么找不到元素。
这是BasePage.cs上的CssSelector
public IWebElement ValidationErrorsPopup => Driver.FindElement(By.CssSelector("[class='_100 bigpad']"));
这是我在WebElementExtensions.cs中的自定义方法
public static void WeElementsLocatedByCssSelector(this IWebElement element, int sec = 10)
{
WebDriverWait wait = new WebDriverWait(Driver.Browser(), TimeSpan.FromSeconds(sec));
wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.CssSelector(element.ToString())));
Console.WriteLine(element);
}
然后我在BasePage.cs中调用它,并照这样传递:
ValidationErrorsPopup.WeElementsLocatedByCssSelector();
如果我只是简单地传递CssSelector,则此方法有效,但是当我尝试将元素作为字符串传递时,它似乎并不喜欢它。
我在这里做错了什么?任何帮助将不胜感激!