当前位置: 首页 > news >正文

selenium判断元素是否存在的方法

文章目录

  • 快捷方法
  • 完整示例程序

快捷方法

selenium没有exist_xxx相关的方法,无法直接判断元素存在。但是锁定元素时使用的browser.find_elements(By.CSS_SELECTOR, "css元素")会返回一个列表list,如果不存在这个元素就会返回一个空列表。因此我们曲线救国,比如:

if len(browser.find_elements(By.CSS_SELECTOR, "a.paging_next")) == 0:# 元素不存在的逻辑pass
else:# 元素存在的逻辑pass

完整示例程序

比如使用如下代码获取一个网页:

from selenium import webdriver
from selenium.webdriver.common.by import Byoption = webdriver.ChromeOptions()
option.add_argument('--disable-gpu')
option.add_argument('lang=zh_CN.UTF-8')
prefs = {"profile.managed_default_content_settings.images": 2,  # 禁止加载图片
}
option.add_experimental_option("prefs", prefs)
browser = webdriver.Chrome(options=option)
browser.get("https://www.baidu.com")

得到百度的页面

在这里插入图片描述
此时如果随便索引一个,结果为0

print(len(browser.find_elements(By.CSS_SELECTOR, "a.paging_next")))

而如果索引下面那一部分,得到结果18

print(len(browser.find_elements(By.CSS_SELECTOR, "div#s-top-left a")))

索引网页内存在的内容,得到结果['新闻', 'hao123', '地图', '贴吧', '视频', '图片', '网盘', '更多', '', '', '', '', '', '', '', '', '', '']

print([_v.text for _v in browser.find_elements(By.CSS_SELECTOR, "div#s-top-left a")])
http://www.lryc.cn/news/246822.html

相关文章:

  • 后端真批量新增的使用
  • HttpRunner原来还能这么用,大开眼界!!!
  • 给WordPress 自带的搜索功能添加过滤只搜索文章的标题
  • frp内网穿透
  • 哈希和unordered系列封装(C++)
  • PHP基础与安全
  • 【面试HOT200】滑动窗口篇
  • cocos2dx ​​Animate3D(三)
  • 单文件组件MVVM
  • python基础练习题库实验6
  • SwiftUI 如何动态开始和停止播放永久重复(repeatForever)动画
  • 批量采集淘宝商品数据,有哪些方式可以实现?
  • Solidworks模型上色技巧以及增加快捷键快速打开和关闭“阴影效果和楼板反射”
  • Corel产品注册机Corel Products KeyGen 2023 – XFORCE解决会声会影2023试用30天
  • 18、Android 组件化
  • 智慧城市交通大屏|助力解决城市交通问题
  • kafka2.x常用命令:创建topic,查看topic列表、分区、副本详情,删除topic,测试topic发送与消费
  • 小程序静默授权获取unionid
  • C++之模版初阶(简单使用模版)
  • 如何提高工作效率和决策能力?试试宽屏尺寸的可视化大屏
  • OSG编程指南<十三>:OSG渲染状态
  • 不同路径 II(力扣LeetCode)动态规划
  • 探索深度学习:从理论到实践的全面指南
  • 统计二叉树中的伪回文路径 : 用位运用来加速??
  • 【数据结构】树与二叉树(廿四):树搜索指定数据域的结点(算法FindTarget)
  • vue3怎么提升效率的?为什么vue3比vue2快?效率提升主要在哪些方面?
  • C语言文件操作 | 文件分类、文件打开与关闭、文件的读写、文件状态、文件删除与重命名、文件缓冲区
  • 从零开始的c语言日记day37——数组指针练习
  • codeforces 1851F
  • js把格式为YYYY-MM-DD HH:mm:ss的时间转换为UTC时间ISO 8601格式