脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2024/12/31 浏览:3 次 )

在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执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
下一篇:python 实现数据库中数据添加、查询与更新的示例代码
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?