无法从用法推断出 Selenium WebDriverWait wait.Until 类型参数

Selenium WebDriverWait wait.Until type arguments cannot be inferred from usage

我有以下代码片段:

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
            wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.Id("loginButton")));
            driver.FindElementById("loginButton").Click();

            wait.Until(JavascriptInjector.GetDocumentReadyState(driver) == expectedReadyState);

JavascriptInjector.GetDocumentReadyState(driver) 在 Chrome 浏览器中执行 return document.readyState 并且 returns 作为字符串的值。 expectedReadyState 属于 string 类型。但是,我收到以下错误:

"The type argument cannot be inferred from the usage."

关于如何克服这个错误有什么建议吗?

WebDriverWaitUntil 方法不接受 bool 作为参数。它接受一个接受 IWebDriver 并返回可推断类型(其中 bool 是一个)的函数。你想要的是类似下面的东西:

wait.Until((d) => { return JavascriptInjector.GetDocumentReadyState(d) == expectedReadyState; });