无法从用法推断出 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."
关于如何克服这个错误有什么建议吗?
WebDriverWait
的 Until
方法不接受 bool
作为参数。它接受一个接受 IWebDriver
并返回可推断类型(其中 bool
是一个)的函数。你想要的是类似下面的东西:
wait.Until((d) => { return JavascriptInjector.GetDocumentReadyState(d) == expectedReadyState; });
我有以下代码片段:
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."
关于如何克服这个错误有什么建议吗?
WebDriverWait
的 Until
方法不接受 bool
作为参数。它接受一个接受 IWebDriver
并返回可推断类型(其中 bool
是一个)的函数。你想要的是类似下面的东西:
wait.Until((d) => { return JavascriptInjector.GetDocumentReadyState(d) == expectedReadyState; });