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

文章目录

快捷方法

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

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

完整示例程序

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

py 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By

option = 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

py 复制代码
print(len(browser.find_elements(By.CSS_SELECTOR, "a.paging_next")))

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

py 复制代码
print(len(browser.find_elements(By.CSS_SELECTOR, "div#s-top-left a")))

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

py 复制代码
print([_v.text for _v in browser.find_elements(By.CSS_SELECTOR, "div#s-top-left a")])
相关推荐
ZLG_zhiyuan9 小时前
竞逐“芯”赛道:CAN分析仪如何成为芯片行业高效测试工具?
测试工具
Lugas Luo9 小时前
DVR 存储工具深度分析报告 (测试与产品视角)
linux·嵌入式硬件·测试工具
LT101579744413 小时前
2026年云测试平台选型指南:技术能力与场景匹配全解析
测试工具
IT19951 天前
Wireshark笔记-对AI连接标准MCP抓包分析
笔记·测试工具·wireshark
LT10157974441 天前
2026 年自动化测试工具对比:架构与场景深度评测
测试工具·架构·自动化
momo1 天前
POSTMAN
测试工具·postman
实名上网宋凯宣1 天前
postman怎么用?
测试工具·postman
Warren981 天前
Windows本地部署n8n完整教程(基于Docker,新手友好)
运维·windows·python·测试工具·docker·容器·可用性测试
Lugas Luo1 天前
车载录像存储性能模拟测试工具设计
linux·嵌入式硬件·测试工具
llilian_162 天前
国产铷原子钟 铷频标挑选指南 铷原子频标 国产铷钟
大数据·网络·功能测试·单片机·嵌入式硬件·测试工具