我正在使用最新的Chrome和Webdriver 2.33,但IgnoreExceptionTypes遇到了一些问题。在下面的代码中,webdriver也会像我期望的那样等待,但是它实际上不会忽略异常:

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(8));
wait.IgnoreExceptionTypes(
    typeof(WebDriverTimeoutException),
    typeof(NoSuchElementException)
);
wait.Until(ExpectedConditions.ElementIsVisible(By.XPath(firstResultX)));

该代码在try/catch中,我尝试将其移至try/catch之外,并收到相同的问题。我不确定从这里去哪里,任何帮助将不胜感激。

最佳答案

您可以使用FluentWaits。

Wait<WebDriver> wait = new FluentWait<WebDriver>(getDriverInstance())
                .withTimeout(timeoutSeconds, TimeUnit.SECONDS)
                .pollingEvery(sleepMilliSeconds, TimeUnit.SECONDS)
                .ignoring(NoSuchElementException.class);

wait.until(<Your expected condition clause.>);

让我知道这是否不能解决您的问题。

09-28 02:20