selenium—用NoSuchElementException异常判断页面元素是否存在
一、知识补充
1、find_element的一种使用方法:
find_element(by=方法,value=值)
例如: find_element(by="id",value="query")
2、selenium.common.exceptions模块
from selenium.common.exceptions import NoSuchElementException
使用WebDriver实施自动化过程中抛出的所有异常都是用selenium.common.exceptions模块导入的
例如NoSuchElementException、TimeoutException
二、代码示例
# coding=UTF-8
#20.判断页面元素是否存在
import sys
reload(sys)
sys.setdefaultencoding('utf8')
from selenium import webdriver
import unittest
import time
from selenium.common.exceptions import NoSuchElementException class Case20(unittest.TestCase): def setUp(self):
self.driver = webdriver.Chrome() def isElementPresent(self, a ,b):
try:
element = self.driver.find_element(by= a, value= b)
except NoSuchElementException,e:
print e
return False
else:
return True def test_isElementPresent(self):
url = "https://www.sogou.com"
self.driver.get(url)
res = self.isElementPresent("id", "query")
if res is True:
print u"元素在页面上"
else:
print u"元素不在页面上" def tearDown(self):
self.driver.quit() if __name__ == '__main__':
unittest.main()

selenium—用NoSuchElementException异常判断页面元素是否存在的更多相关文章
- Selenium(二十):expected_conditions判断页面元素
1. 判断元素(expected_conditons) 作为一个刚刚转到python开发的小朋友,在开发前只将前辈们封装的方法看了一遍,学了一边selenium基础.看到封装的方法有什么判断元素是否存 ...
- jQuery 判断页面元素是否存在的代码
在原生的Javascript里,当我们对某个页面元素进行某种操作前,最好先判断这个元素是否存在.原因是对一个不存在的元素进行操作是不允许的. 例如: document.getElementById(& ...
- jQuery基础 -- 如何判断页面元素存在与否
在传统的Javascript里,当我们对某个页面元素进行某种操作前,最好先判断这个元素是否存在.原因是对一个不存在的元素进行操作是不允许的.例如: document.getElementById(&q ...
- expected_conditions判断页面元素
expected_condtions提供了16种判断页面元素的方法: 1.title_is:判断当前页面的title是否完全等于预期字符串,返回布尔值 2.title_contains:判断当前页面的 ...
- Python3.x:Selenium中的webdriver进行页面元素定位
Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver ...
- jquery判断页面元素是否存在
在传统的Javascript里,当我们对某个页面元素进行某种操作前,最好先判断这个元素是否存在.原因是对一个不存在的元素进行操作是不允许的. 例如: document.getElementById(& ...
- expected_conditions模块提供了判断页面元素的16种方法
1.title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值2.title_contains : 判断当前页面的title是否包含预期字符串,返回布尔值3.presenc ...
- selenium java maven 自动化测试(二) 页面元素获取与操作
在第一节中,我们已经成功打开了页面,但是自动化测试必然包含了表单的填写与按钮的点击. 所以在第二章中我以博客园为例,完成按钮点击,表单填写 还是以代码为准,先上代码: package com.ryan ...
- Selenium WebDriver- 操作frame中的页面元素
#encoding=utf-8 import unittest import time from selenium import webdriver from selenium.webdriver i ...
随机推荐
- JAVA笔记12-接口interface
1.概念:接口是抽象方法和常量值得定义的集合.本质上,接口是一种特殊的抽象类,这种抽象类只包含常量和方法的定义,而没有变量和方法的实现. 接口定义举例: 2.接口特性: (1)接口可以多重实现:(接口 ...
- 【JZOJ5439】【NOIP2017提高A组集训10.31】Calculate
题目 分析 对于\[\sum_{i=1}^{n}\lfloor\dfrac{T-B_i}{A_i}\rfloor\] 我们考虑拆开处理,得到 \[\sum_{i=1}^{n}(\lfloor\dfra ...
- C# 之抽象类
抽象类 抽象类中 .只包含抽象方法, .包含非抽象方法和抽象方法 .可使用get和set访问器 Example : public abstract class GeeksForGeeks { publ ...
- re.compile 函数
re.compile 函数 compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用. 语法格式为: re.com ...
- the nearest point/vertex point of linestring
引用https://github.com/Toblerity/Shapely/issues/190 snorfalorpagus commented on 18 Oct 2014 The point ...
- poj 1064 高精度 二分
Cable master Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 32191 Accepted: 6888 Descrip ...
- 论文阅读:ClickNF: a Modular Stack for Custom Network Functions
摘要: 网络功能虚拟化最近允许用等效的软件实现代替专用设备, Click路由器是朝这个方向迈出的第一步,它定义了用于通用数据包处理的模块化平台. 尽管Click具有重大影响,但它不提供本机L4实现,而 ...
- centos 6.8安装mysql5.6
安装mysql 官方文档 A Quick Guide to Using the MySQL Yum Repository 下载 Yum Repository Go to the Download My ...
- ar9331修改flash大小和df、cat /proc/mtd的区别
首先感谢黄工的指导. 在openwrt固件目录下target/linux/ar71xx/image/Makefile,找到对应的机型,修改为4M,8M,16M,32M. 以oolite机型为例,如图所 ...
- Thinkphp3.2.3中的RBAC权限验证
最近在用TP的RBAC权限控制,在这里记录学习一下.先来看看相关的概念 一.相关概念 访问控制与RBAC模型1.访问控制: 通常的多用户系统都会涉及到访问控制,所谓访问控制,是指通过某种 ...