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")])
相关推荐
测试19982 小时前
性能测试方案设计的方法和思路
自动化测试·软件测试·测试工具·jmeter·测试用例·压力测试·性能测试
西瓜程序猿9 小时前
手机端现场收礼如何实时投屏?
测试工具·智能手机·创业创新·记了么·电子礼薄
阿斯加德D9 小时前
《霍格沃茨之遗》风灵月影修改器下载(已汉化)2026最新版
人工智能·测试工具·游戏·3d·游戏程序
弹简特14 小时前
【精通Postman接口测试-完结】05-Postman通关收官!接口鉴权+接口加密+接口签名+Mock数据构造
测试工具·postman·接口鉴权、接口签名
麦科信仪器14 小时前
便携、专业 | 12bit硬核高精 | 麦科信 AHO1 系列汽车示波器正式发布!
测试工具·汽车·示波器·制造·安全性测试·测量
yzx99101314 小时前
二手交易平台智能客服机器人——基于规则引擎与 Selenium 的自动回复系统
selenium·测试工具·机器人
神州数码云基地14 小时前
AI 驱动的自动化安全测试工具--Strix
运维·人工智能·功能测试·测试工具·自动化
介一安全15 小时前
【Web安全】AI自动化实现前端加密算法逆向分析
测试工具·ai·自动化·逆向·安全性测试
测试员周周1 天前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
阿斯加德D1 天前
PCL2下载我的世界minecraft Java版启动器2026最新版分享
测试工具·游戏·游戏程序