zoukankan      html  css  js  c++  java
  • c# Selenium ExpectedConditions 不存在

    Selenium中的显示等待指的是,等待某一元素出现或者等待页面加载完成后,才执行下一步。需要用到WebDriverWait类。

    例如:

    var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 30));
    var element = wait.Until(ExpectedConditions.ElementIsVisible(By.Id("content-section")));

    但是在.net core最新版本的Selenium下使用WebDriverWait的时候,发现找不到ExpectedConditions。有一个比较简单的方法就是将Selenium降级到3.10.0或者找一些NuGet包例如DotNetSeleniumExtras.WaitHelpers。如果不想添加新的包或者降级,可以考虑使用Lambda表达式。如下:

     WebDriverWait wait = new WebDriverWait(_firefoxDriver, TimeSpan.FromSeconds(10));//设置超时时间
     var isFInd = wait.Until(contion =>
           {
               try
               {
    //寻找元素 _firefoxDriver.FindElement(By.ClassName(
    "c-icon-shape-hover")).Click(); //_firefoxDriver.FindElement(By.XPath(xpath)).Click(); return true; } catch (Exception e) { return false; } }); if (!isFInd) throw new Exception("Cant' Find Click");

    当超时了会抛出一个超时异常。

    参考链接:https://stackoverflow.com/questions/49866334/c-sharp-selenium-expectedconditions-is-obsolete

  • 相关阅读:
    C++中的结构体
    C++转换
    C++常见问题解答
    hdu 1491
    hdu 1253
    [恢]hdu 2529
    [恢]hdu 2539
    hdu 1708
    [恢]hdu 2512
    [恢]hdu 2401
  • 原文地址:https://www.cnblogs.com/dlvguo/p/10609124.html
Copyright © 2011-2022 走看看