c# Selenium ExpectedConditions 不存在
Selenium中的显示等待指的是,等待某一元素出现或者等待页面加载完成后,才执行下一步。需要用到WebDriverWait类。
例如:
var wait = new WebDriverWait(driver, new TimeSpan(, , ));
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());//设置超时时间
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# Selenium ExpectedConditions 不存在的更多相关文章
- selenium之ExpectedConditions类
		
API中对于该类的介绍:Canned ExpectedConditions which are generally useful within webdriver tests.很笼统,大概意思就是在w ...
 - selenium对Alert弹框的多种处理
		
Alert弹框是一个很烦人的控件,因为当前页面如果弹出了该弹框,你必须要处理它,不然你就不能操作页面的其它元素,下面我列出了alert弹框在多种场景下的处理办法. 明确知道系统哪个地方会弹alert ...
 - 浅析selenium的PageFactory模式
		
前面的文章介绍了selenium的PO模式,见文章:http://www.cnblogs.com/qiaoyeye/p/5220827.html.下面介绍一下PageFactory模式. 1.首先介绍 ...
 - [转]java selenium webdriver实战 应用小结
		
原文链接:http://www.cnblogs.com/itliucheng/p/5578788.html 部分api 1.访问网站 driver.get("http://www.baidu ...
 - java selenium (十三) 智能等待页面加载完成
		
我们经常会碰到用selenium操作页面上某个元素的时候, 需要等待页面加载完成后, 才能操作. 否则页面上的元素不存在,会抛出异常. 或者碰到AJAX异步加载,我们需要等待元素加载完成后, 才能操 ...
 - Selenium的延迟等待
		
http://my.oschina.net/u/928852/blog/98885 Selenium的延迟等待分为 显式等待(Explicit Wait) & 隐式等待(Implicit Wa ...
 - 25+ Useful Selenium Web driver Code Snippets For GUI Testing Automation
		
本文总结了使用Selenium Web driver 做页面自动化测试的一些 tips, tricks, snippets. 1. Chrome Driver 如何安装 extensions 两种方式 ...
 - Selenium中的几种等待方式,需特别注意implicitlyWait的用法
		
摘:http://blog.csdn.net/pf20050904/article/details/20052485 最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题 ...
 - [小北De编程手记] : Lesson 06 - Selenium For C# 之 流程控制
		
无论你是用哪一种自动化测试的驱动框架,当我们构建一个复杂应用程序的自动化测试的时候.都希望构建一个测试流程稳定,维护成本较低的自动化测试.但是,现实往往没有理想丰满.而这一篇,我会为大家讲解我们在使用 ...
 
随机推荐
- 很有用的shell脚本
			
基础知识 expect基础知识 exp_continue是匹配一行后,从当前expect块第一行开始匹配 expect块的每一行匹配后,直接退出当前expect块,往下一个expect块开始匹配 ex ...
 - java 权限控制
			
网上或参考书中,对于java权限控制大多给出一张看似很整齐很好记实则不好理解的表格,我整理了一个2.0升级版,自认为会好理解很多,希望可以有所帮助. 同一包内 不同包内 修饰符 当前类 非当前类(含子 ...
 - Java语言基础(11)
			
1 构造方法 构造方法是一种特殊的方法,只有在创建对象的时候才被调用,用来执行初始化的操作,比如给属性赋值... 1) 构造方法名字跟类名一致,没有返回值也就没有返回值类型 2) 格式: 类名(参数列 ...
 - ora-01847:月份中日的值必须介于 1 和当月最后一日之间
			
今天解决了一个奇葩问题: ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间 将数据从一个视图倒入到一个同结构的表中,但是老报错,也就那么几个字段,肉眼真看不出来什么问题,但是既然报这 ...
 - 基础简单DP
			
状态比较容易表示,转移方程比较好想,问题比较基本常见 递推.背包.LIS(最长递增序列),LCS(最长公共子序列) HDU 2048 数塔 由上往下推 状态数太多(100!) 可以由下往上推: d ...
 - USRP B210 更改A通道或B通道
			
USRP B210 更改A通道或B通道: 默认是A通道进行发射/接收,或设置 Mb0:Subdev Spec: A:A 设置B通道进行发射/接收,设置 Mb0:Subdev Spec: A:B
 - ubuntu16下安装MySQLdb
			
2016年07月20日 10:37:04 tonydandelion2014 阅读数 3354更多 分类专栏: Python 1.使用pip安装 pip install mysql-python ...
 - Web UI开发推荐!Kendo UI for jQuery自定义小部件——处理事件
			
Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...
 - 一例jsonp跨域访问
			
对于网站A,有一链接 '/auth/list',返回json数据 {, , , , , },{, , , , , }]} 网站b某页面下可以这样写jsonp get请求 <script> ...
 - Flyway对比Liquibase(转)
			
数据库迁移工具. 很多应用的运行是需要数据库支持的,而随着快速迭代,产品更替的节奏加快,除了产品本身需要不断更新以外,数据库也需要做出合适的管理了. 为什么需要数据库迁移管理 比如第一个版本的产品只包 ...