作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现在C#
中,无论使用WebDriverWait类
还是DefaultWait类
,在任何一种情况下IgnoreExceptionTypes
code> 方法似乎不起作用。
即无论哪种情况,当针对我的页面运行时,都会抛出 StaleElementReferenceException
,尽管我指示代码忽略这些异常。
WebDriverWait
示例:
public void WaitElementToBeClickable(IWebElement element)
{
var wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(60));
wait.IgnoreExceptionTypes(typeof(NoSuchElementException), typeof(StaleElementReferenceException));
wait.Until(ExpectedConditions.ElementToBeClickable(element));
}
默认等待示例:
public IWebElement SafeWaitForDisplayed(IWebElement webElement) {
var w = new DefaultWait<IWebElement>(webElement);
w.Timeout = TimeSpan.FromSeconds(30);
w.IgnoreExceptionTypes(typeof(NoSuchElementException), typeof(StaleElementReferenceException));
return w.Until(ctx =>
{
var elem = webElement;
if (elem.Displayed)
return elem;
else
return null;
});
}
非常感谢您提出的任何建议。网络上似乎很少有关于此特定方法的使用的信息,其他人发现它也不起作用,并且没有建议任何解决方法。
最佳答案
IgnoreExceptionTypes
只会在整个等待过程中持续,直到超时。我正在使用 DefaultWait
并且就像您期望它返回 null 一样。它不是。当达到超时时,它将抛出异常。因此,我将其包含在 try catch 中,以便在超时时适本地处理异常。
关于c# - IgnoreExceptionTypes 不起作用(C# Webdriver),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721303/
我发现在C#中,无论使用WebDriverWait类还是DefaultWait类,在任何一种情况下IgnoreExceptionTypes code> 方法似乎不起作用。 即无论哪种情况,当针对我的页
我在等待 WebElement 可点击时使用 DefaultWait。尽管 TargetInvocationException 是我的等待期间要忽略的异常列表中的异常之一,但在达到 TimeOut 期
我是一名优秀的程序员,十分优秀!