python3 selenium 如何处理异常情况
使用场景:
1、元素只有在某一特定情况下才会出现
2、元素定位不到
使用方法:
try:
except exceptions.NoSuchElementException:
举例说明:
# _._ coding=utf-8 _._ """ :author: 花花测试 :time: 2017.05.08 :content: 处理元素定位的异常情况 """ from selenium import webdriver from datetime import datetime from selenium.common import exceptions import random import time """ http://www.kgc.cn/personal_management/17087.shtml:这个课程不是直播课 http://www.kgc.cn/java/25349.shtml:这个课程是直播课 """ driver = webdriver.Chrome() driver.get('http://www.kgc.cn/personal_management/17087.shtml') try: end_time = driver.find_element_by_xpath( '/html/body/div[2]/div/div/div[2]/div[2]/div[1]/div[2]/div[3]/div/span[2]').text now_time = datetime.now().strftime('%Y-%m-%d %H:%M') print('直播结束时间为:{0}'.format(end_time)) print('当前时间为:{0}'.format(now_time)) time.sleep(1) if end_time >= now_time: print('这个课程是直播未开始或者是直播已经开始的课程') else: print('这个课程是直播已结束的课程') except exceptions.NoSuchElementException: print('您选择的这节课程不是直播课') driver.quit() print('测试结束')
说明:
1、我的脚本都是以课工场为例,如果有什么不明白的地方,欢迎大家留言,我看的话会及时给大家解答
2、辛苦原创,转载请注明出处
python3 selenium 如何处理异常情况的更多相关文章
- 【JVM虚拟机】(9)-- JVM是如何处理异常的
[JVM虚拟机](9)-- JVM是如何处理异常的 上篇博客我们简单说过异常信息是存放在属性表集合中的Code属性表里,那么这篇博客就单独讲Code属性表中的exception_table. 在讲之前 ...
- python3+selenium框架设计02-自动化测试框架需要什么
什么是自动化测试框架 自动化测试框架能够提供便利给用户高效完成一些事情,比如,结构清晰开发脚本,多种方式.平台执行脚本,良好的日志和报告去跟踪脚本执行结果. 关于自动化测试框架的定义有很多,在我大致理 ...
- Python3 Selenium定位不到元素常见原因及解决办法
Python3 Selenium定位不到元素常见原因及解决办法 一.问题描述 在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况: 报错信息: no such e ...
- Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作
Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdr ...
- 转 Python3 错误和异常/ Python学习之错误调试和测试
########sample 0 https://www.cnblogs.com/Simon-xm/p/4073028.html except: #捕获所有异常 except: <异常名> ...
- python021 Python3 错误和异常
Python3 错误和异常 作为Python初学者,在刚学习Python编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python有两种错误很容易辨认:语法错误和异常. ...
- Python3+selenium 报错处理:“selenium.common.exceptions.NoAlertPresentException: Message: No alert is active”
一.说明 在使用python3+selenium写自动升级程序的时侯,碰到一个弹出对话框需要点击确认的场景.弹出的对话框如下图所示. 对于弹框各种资料都说通过switch_to.alert属性获取对话 ...
- python3 selenium模块Chrome设置代理ip的实现
python3 selenium模块Chrome设置代理ip的实现 selenium模块Chrome设置代理ip的实现代码: from selenium import webdriver chrome ...
- Android(java)学习笔记82:我们到底该如何处理异常?
我们到底该如何处理异常? 原则: 如果该功能内部可以将问题处理,用try,自己能解决就自己解决问题. 如果处理不了,交由调用者处理,这是用throws,自己不能解决的问题,我们就抛出去交个调用者解决这 ...
随机推荐
- Redhat
vm1 port:192.168.210.102 user:root;pwd:123456 user:openflowpwd:openflowKkm09!q esx4.1 server 安装一.修改I ...
- cuda内存总结
1.shared memory __shared__ 声明为共享内存,将会保存在共享内存中 2.constant memory __constant__ 声明为常量内存,将会保存在常量内存中,常量内 ...
- Android 使用纯Java代码布局
java布局 java代码布局和xml布局的区别 1.Java纯布局更加的灵活,比如自定义控件或一些特殊要求时,使用java代码布局 2.常用的xml布局是所见即所得的编写方式,以及xml本身拥有一些 ...
- 批量安装python库函数---pip
废话少说,要的就是干货 pip install -r 文件名 注意如果输入文件名报错,建议使用文件的绝对路径. 作者:marsggbo
- VC++中经常出现的内存泄露和指针问题
要养成良好的编程习惯,每次用new开辟的新空间马上先写好释放语句delete.指针在程序中往往有很多细节问题,比如1.指针作为返回值,某个分支中进行赋值返回,另一个分支却没有值.2.指针作为函数参数传 ...
- jdk源码剖析:Synchronized
开启正文之前,先说一下源码剖析这一系列,就以"死磕到底"的精神贯彻始终,最少追踪到JVM指令(再往下C语言实现了). =========正文分割线=========== Sync ...
- Linux工具XFTP、Xshell(centos配置java环境 工具篇 总结一)
♣Xmanager5是什么? ♣安装XFTP ♣安装Xshell 1.Xmanager5(官网:https://www.netsarang.com/download/software.html)是全新 ...
- 个人认为最好的Mac端的视频播放软件___movist
http://pan.baidu.com/s/1kVm0Zmn password : y9rn 点击打开链接 http://pan.baidu.com/s/1i4ABval password :kt3 ...
- angularJS绑定数据中对标签转义的处理
一.问题 默认情况下,angularJS绑定的数据为字符串文本,不会对其中包含的html标签进行转义生成格式化的文本.在实际工作时碰到接口返回的数据带有html格式时该如何处理. 二.解决办法 1.引 ...
- require.js学习笔记
使用require.js的好处? 1 有效的防止命名冲突(可以将变量封装在模块内,通过暴露出的接口解决命名冲突) 2 解决不同JS文件中的依赖 3 可以让我们的代码以模块化的方式组织 官方网站http ...