繁体   English   中英

C#-等同于Java的ExpectedConditions.not

[英]C# - Equivalent to java's ExpectedConditions.not

我正在C#中使用Selenium编写一些自动化测试,我需要等到某个元素未处于过时状态。 在Java中,我曾经使用过ExpectedConditions.not(ExpectedConditions.stalenessOf(element) ,但是我还没有找到在C#中做到这一点的方法。

是否有解决此问题的方法,或者.NET中的Selenium根本没有“ Not”属性?

我也一直在寻找这not方法,似乎没有while或者until不使用构造可使用现成的C# ExpectedConditions枚举。 与Java或Python相比,这是有区别的。

但是,根据此答案,您可以使用lambda重写问题:

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until<IWebElement>((d) =>
{
    try {
      // Calling any method forces a staleness check
      element.isEnabled();
      return element;
    } catch (StaleElementReferenceException expected) {
      return null;
    }
});

或者,您可以只使用另一个条件ExpectedConditions.ElementExists

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM