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")])
相关推荐
奋进的电子工程师1 小时前
新架构下高精度时间戳总线接口卡 TestBase VCI 0620
测试工具·fpga开发·软件工程
java1234_小锋2 小时前
[免费]基于Python的天气预报(天气预测分析)(Django+sklearn机器学习+selenium爬虫)可视化系统【论文+源码+SQL脚本】
爬虫·python·selenium·天气预报·天气预测
线束线缆组件品替网3 小时前
Aries Electronics 定制线缆选型与设计建议
数码相机·测试工具·智能手机·电脑·pcb工艺
may_一一4 小时前
selenium自动化调用接口为null问题处理
selenium·测试工具·自动化
3824278274 小时前
python:selenium,CSS位置偏移反爬案例
css·python·selenium
JTnnnnn19 小时前
【疑難排解】解決 Postman 無法上傳本地文件(Couldn‘t upload file)的問題
测试工具·postman
Minecraft红客20 小时前
ai_dialogue_framework项目1.0(纯原创)
c++·测试工具·电脑
就叫飞六吧1 天前
wrk:现代 HTTP 性能测试工具(类cc)
网络协议·测试工具·http
代码游侠1 天前
复习——网络测试工具
linux·开发语言·网络·笔记·学习·测试工具
我的xiaodoujiao1 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 37--测试报告 Allure 前置步骤-配置安装 JDK 详细图文教程
java·开发语言·学习·测试工具