python3 selenium 如何处理异常情况

使用场景:

1、元素只有在某一特定情况下才会出现

2、元素定位不到

使用方法:

try:

except exceptions.NoSuchElementException:

举例说明:

 1 # _._ coding=utf-8 _._
 2 """
 3 :author: 花花测试
 4 :time: 2017.05.08
 5 :content: 处理元素定位的异常情况
 6 """
 7
 8 from selenium import webdriver
 9 from datetime import datetime
10 from selenium.common import exceptions
11 import random
12 import time
13
14 """
15 http://www.kgc.cn/personal_management/17087.shtml:这个课程不是直播课
16 http://www.kgc.cn/java/25349.shtml:这个课程是直播课
17
18 """
19
20 driver = webdriver.Chrome()
21 driver.get(‘http://www.kgc.cn/personal_management/17087.shtml‘)
22
23 try:
24     end_time = driver.find_element_by_xpath(
25         ‘/html/body/div[2]/div/div/div[2]/div[2]/div[1]/div[2]/div[3]/div/span[2]‘).text
26     now_time = datetime.now().strftime(‘%Y-%m-%d %H:%M‘)
27     print(‘直播结束时间为:{0}‘.format(end_time))
28     print(‘当前时间为:{0}‘.format(now_time))
29     time.sleep(1)
30
31     if end_time >= now_time:
32         print(‘这个课程是直播未开始或者是直播已经开始的课程‘)
33     else:
34         print(‘这个课程是直播已结束的课程‘)
35 except exceptions.NoSuchElementException:
36     print(‘您选择的这节课程不是直播课‘)
37 driver.quit()
38 print(‘测试结束‘)

说明:

1、我的脚本都是以课工场为例,如果有什么不明白的地方,欢迎大家留言,我看的话会及时给大家解答

2、辛苦原创,转载请注明出处

    

 

时间: 2024-11-07 20:44:39

python3 selenium 如何处理异常情况的相关文章

Python3 错误和异常

Edit 笔记内容:Python3 错误和异常 笔记日期:2017-11-12 Python3 错误和异常 语法错误 异常 异常处理 抛出异常 用户自定义异常 finally语句 预定义的清理行为 异常处理机制概述: 异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件).通过异常处理,我们可以对用户在程序中的非法输入进行控制和提示,以防程序崩溃. 就好比一个旅游景点,每到一个有可能出现问题情况的地方就会设置一个处理问题的处理

【JVM虚拟机】(9)-- JVM是如何处理异常的

[JVM虚拟机](9)-- JVM是如何处理异常的 上篇博客我们简单说过异常信息是存放在属性表集合中的Code属性表里,那么这篇博客就单独讲Code属性表中的exception_table. 在讲之前我们先思考两个问题? 1.为什么捕获异常会较大的性能消耗? 2.为什么finally中的代码会永远执行? 接下来会从JVM虚拟机的角度来解答这两个问题. 一.概念 1.JVM是如何捕获异常的? 1.编译而成的字节码中,每个方法都附带一个异常表. 2.异常表中每一个条目代表一个异常处理器 3.触发异常

记录一次追查server死机& 登录异常情况

linux 服务器死机了,于是追查原因. 查看boot.log [email protected]:/var/log$ less boot.log 看不出异常 显示开机信息 [email protected]:/var/log$ less dmesg 区别;(未明) /var/log/boot.log --- System boot log /var/log/dmesg --- print or control the kernel ring buffer /var/log/messages看看

Activity在异常情况下的生命周期——Android开发艺术探索笔记

欢迎转载,转载请注明出处 http://blog.csdn.net/l664675249/article/details/50638398 Activity在异常情况下的生命周期 关于Activity正常情况下的生命周期请参考这篇文章,本文主要讲解Activity在异常情况下的生命周期. 情况1:资源相关的系统配置发生改变 资源相关的系统配置发生改变,举个栗子.当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, onSto

更加强健的线程模型,解决线程卡死,退出异常情况

线程模型 1 package net.sz; 2 3 import java.util.Random; 4 import java.util.concurrent.ConcurrentLinkedQueue; 5 import org.apache.log4j.Logger; 6 7 /** 8 * 9 * <br> 10 * author 失足程序员<br> 11 * mail [email protected]<br> 12 * phone 13882122019&

spring autowired时发生异常情况

spring beanFactory那些就不说了,这次发生这个异常纠结好了好久,网上找了很多资料看,终于发现问题. 自动装配bean注入的时候,如果Spring配置定义了aop声明式事务,类似如下方式 <aop:config>  <aop:pointcut id="serviceMethods2"   expression="execution(public * net.villion.framework..*(..))" />  <a

异常情况下的Activity生命周期分析

情况1:资源相关的系统配置发生改变 资源相关的系统配置发生改变,举个栗子.当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, onStop, onDestory均会被调用.因为实在异常情况下终止的,所以系统会调用onSaveInstanceState来保存当前Activity状态.这个方法是在onStop之前,与onPause没有固定的时序关系.当Activity重建的时候系统会把onSaveInstanceState所保

Android(java)学习笔记82:我们到底该如何处理异常?

我们到底该如何处理异常? 原则: 如果该功能内部可以将问题处理,用try,自己能解决就自己解决问题. 如果处理不了,交由调用者处理,这是用throws,自己不能解决的问题,我们就抛出去交个调用者解决这个问题(当然最终还是交给JVM解决) 区别: 后续程序需要继续运行就try 后续程序不需要继续运行就throws 举例: 感冒了就自己吃点药就好了, try 吃了好几天药都没好结果得了H7N9,那就的得throws到医院 如果医院没有特效药就变成Error了

盘点异常情况下的紧急处理

盘点异常情况下的紧急处理: update kwkctab set kcl = (select pdl from view_kw10 where view_kw10.itemno = kwkctab.itemno and view_kw10.KW = kwkctab.KWand view_kw10.gys = kwkctab.gysand view_kw10.pdl is not null)  where kwkctab.itemno in (select itemno from view_kw1