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 相关文章推荐
Python模块学习 datetime介绍
Aug 27 Python
Python 稀疏矩阵-sparse 存储和转换
May 27 Python
使用django-guardian实现django-admin的行级权限控制的方法
Oct 30 Python
如何将 awk 脚本移植到 Python
Dec 09 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
Python基于pandas爬取网页表格数据
May 11 Python
利用python实现平稳时间序列的建模方式
Jun 03 Python
Python操作MySQL数据库的示例代码
Jul 13 Python
python判断变量是否为列表的方法
Sep 17 Python
pytorch 一行代码查看网络参数总量的实现
May 12 Python
Python Numpy库的超详细教程
Apr 06 Python
python+pyhyper实现识别图片中的车牌号思路详解
Dec 24 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
php 错误处理经验分享
2011/10/11 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
img的onload的另类用法
2008/01/10 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
微信小程序动态显示项目倒计时效果
2017/06/13 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
[13:39]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第一场
2014/05/26 DOTA
Python实现多进程的四种方式
2019/02/22 Python
基于python3生成标签云代码解析
2020/02/18 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
基于Python测试程序是否有错误
2020/05/16 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
团购业务员岗位职责
2014/03/15 职场文书
找工作求职信
2014/07/07 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL