selenium判断元素是否存在的两种方法小结


Posted in Python onDecember 07, 2020

在selenium中没有对应的方法,需要自己去写。

  • 元素存在,但不唯一,操作元素会报错
  • 元素不存在,操作元素也会报错

第一种:捕获异常

弊端:只要页面上有元素,不几个,都返回True

from selenium import webdriver
import unittest
class Test1(unittest.TestCase):
# 一、准备浏览器驱动、网站地址
# setUp在每个测试函数运行前运行,注意大小写;self不能省略
 def setUp(self):
 self.driver=webdriver.Chrome()
 self.baseurl="https://www.baidu.com"
 
# 二、打开浏览器,发送请求
 函数名必须以test开头
 def test_01(self):
 browser=self.driver
 browser.get(self.baseurl)
# 四、调用方法,判断元素是否存在
 flag=Test1.isElementExist(self,“input”)
 if flag:
  print(“该元素存在”)
 else:
  print(“该元素不存在”)
# 三、判断元素是否存在的方法
 def isElementExist(self):
 flag=True
 browser=self.driver
 try:
  browser.find_element_by_css_selector(element)
  return flag
 except:
  flag=False
  return flag
# 五、运行所有以test开头的测试方法
if __name__=="__main__":
 unittest.main()

第二种:find_elements方法

#除第三步,其他步骤同上
def isElementExist(self):
 flag=True
 browser=self.driver
 ele=browser.find_elements_by_css_selector(element)
 if len(ele)==0:
 flag=False
 return flag
 if len(ele)==1:
 return flag
 else:
 flag=False
 return flag

到此这篇关于selenium判断元素是否存在的两种方法小结的文章就介绍到这了,更多相关selenium判断元存在 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
400多行Python代码实现了一个FTP服务器
May 10 Python
浅要分析Python程序与C程序的结合使用
Apr 07 Python
python实现百万答题自动百度搜索答案
Jan 16 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
python实现朴素贝叶斯算法
Nov 19 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
使用豆瓣源来安装python中的第三方库方法
Jan 26 Python
Python开发五子棋小游戏
Apr 28 Python
pycharm实现猜数游戏
Dec 07 #Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 #Python
Selenium关闭INFO:CONSOLE提示的解决
Dec 07 #Python
pyqt5实现井字棋的示例代码
Dec 07 #Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 #Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 #Python
使用BeautifulSoup4解析XML的方法小结
Dec 07 #Python
You might like
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
FCKeditor的安装(PHP)
2007/01/13 PHP
php多文件上传功能实现原理及代码
2013/04/18 PHP
详解PHP中的Traits
2015/07/29 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
探讨js中的双感叹号判断
2013/11/11 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
Node.js中对通用模块的封装方法
2014/06/06 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
vue实现选中效果
2020/10/07 Javascript
vue实现按钮切换图片
2021/01/20 Vue.js
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
Python连接数据库学习之DB-API详解
2017/02/07 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
巴西最大的在线约会网站:ParPerfeito
2018/07/11 全球购物
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
实习求职信
2013/12/01 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
买房委托公证书
2014/04/08 职场文书
企业宗旨标语
2014/06/10 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
小学国庆节活动总结
2015/03/23 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
delete in子查询不走索引问题分析
2022/07/07 MySQL