Selenium中使用的三种等待
文章目录
- 1.前言
- 2.在selenium中常见的等待操作一般有3个
1.前言
在使用selenium时很多元素在使用的时候都需要加载,如果不等待加载结束直接使用就会报错,功能不能继续。一般解决的办法就是使用等待操作。
2.在selenium中常见的等待操作一般有3个
- sleep
- implicitly_wait
- WebDriverWait
sleep 强制等待
强制等待,设置等待多长时间,就要等待多长时间,等待完成后,才会继续下一步。
implicitly_wait
智能等待(隐性等待),直接设置,在等待时间中,元素存在就执行。
driver = webdriver.Chrome()
driver.implicity_wait(30)
……
WebDriverWait
元素存在,但不一定能使用,需要满足其他条件以后才执行
from selenium.webdriver.support.wait import WebDriverWait
wait = WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_eceptions)
ele = wait.until(ES.visibility_of_element_located(EC,visibility_of_element_located((By.Id,'id_value')
……
参数
driver 浏览器驱动
timeout 等待时间
poll_frequency 轮询间隔时间
ignored_eceptions 异常信息
presence_of_element_located是等待元素加载到dom树中的方法,属于expected_conditions类。expected_conditions还提供了很多的条件判断方法:
| 方法 | 说明 |
|---|---|
| title_is | 判断当前页面的 title 是否等于预期字符串,返回布尔值 |
| title_contains | 判断当前页面的 title 是否包含预期字符串,返回布尔值 |
| presence_of_element_located | 判断元素是否被加到了 dom 树里(注意,加载到dom树中,并不代表这个元素可见) |
| visibility_of_element_located | 判断元素是否可见 |
| visibility_of | 同visibility_of_element_located方法,只是visibility_of_element_located方法参数为locator,这个方法参数是定位后的元素 |
| presence_of_all_elements_located | 判断是否至少有 1 个元素存在于 dom 树中。举例:如果页面上有 n 个元素的 class 都是’wp’,那么只要有 1 个元素存在,这个方法就返回 True |
| text_to_be_present_in_element | 判断某个元素中的 text 是否 包含 了预期的字符串 |
| text_to_be_present_in_element_value | 判断某个元素中的 value 属性是否包含 了预期的字符串 |
| frame_to_be_available_and_switch_to_it | 判断该 frame 是否可以 switch进去,如果可以的话,返回 True 并且 switch 进去,否则返回 False |
| invisibility_of_element_located | 判断某个元素中是否不存在于dom树或不可见 |
| element_to_be_clickable | 判断某个元素中是否可见并且可点击 |
| staleness_of | 等某个元素从 dom 树中移除,返回 True 或 False |
| element_to_be_selected | 判断某个元素是否被选中了,一般用在下拉列表 |
| element_selection_state_to_be | 判断某个元素的选中状态是否符合预期 |
| element_located_selection_state_to_be | 跟上面的方法作用一样,只是上面的方法传入定位到的 element,而这个方法传入 locator |
| alert_is_present | 判断页面上是否存在 alert |
相关文章:
Selenium中使用的三种等待
文章目录 1.前言2.在selenium中常见的等待操作一般有3个 1.前言 在使用selenium时很多元素在使用的时候都需要加载,如果不等待加载结束直接使用就会报错,功能不能继续。一般解决的办法就是使用等待操作。 2.在selenium中常见的等待操作一般有3个 slee…...
推荐一款媒体影音嗅探神器—Chrome扩展插件(猫抓cat-catch)
目录 1.1、前言1.2、下载地址1.3、github Releases 版本说明1.4、安装步骤1.5、猫抓插件常规设置1.5.1、设置抓取文件的类型1.5.2、设置抓取文件的后缀名 1.1、前言 我们在日常上网的过程中,很多音频、视频网站下载资源都非常不方便,要么需要安装客户端&…...
LLaMA-Factory 微调训练
LLaMA-Factory 微调训练 该框架功能,标注-微调-导出-合并-部署,一整条流程都有,而且训练时消耗的gpu算力也会小一些 一,安装(推荐在linux中训练,win可以用wsldocker) git clone https://githu…...
阿里云ECS服务器怎么设置时区
在自己部署在阿里云服务器上的应用中,控制台打印的日志时间和本地不一致,于是决定修改阿里云服务器的时区为Asia/Shanghai。 具体操作如下: 第一步:连接服务器 通过finalshell等连接工具通过公网IP连接到服务器。 第二步&#…...
【698协议】帧校验算法
698协议,帧校验算法 帧格式 帧校验范围 校验算法 #include "fcs16.h" /* * u16 represents an unsigned 16-bit number. Adjust the typedef for * your hardware. * Drew D. Perkins at Carnegie Mellon University. * Code liberally borrowed from M…...
FileZilla“服务器发回了不可路由的地址,使用服务器地址代替
问题:在宝塔创建的FTP无法使用,提示“服务器回应不可路由的地址。使用服务器地址代替 第一种解决办法:由于宝塔把FTP被动模式端口范围设置成了39000-40000,所以只需要把阿里云服务器上相应的端口范围开放即可。 第二种解决办法&am…...
【路径规划】基于遗传算法GA实现最短距离 多起点多终点多旅行商问题求解附Matlab代码
基于遗传算法GA实现最短距离 多起点多终点多旅行商问题求解 研究背景:研究步骤:研究方法和技术路线:代码研究背景: 多起点多终点多旅行商问题是旅行商问题(TSP)的一个扩展,该问题要求确定多个旅行商从各自的起点出发,分别经过一系列目标点最终回到各自的终点,使得总路…...
计算机毕业设计 | springboot+vue房屋租赁管理系统(附源码)
1,绪论 1.1 课题来源 随着社会的不断发展以及大家生活水平的提高,越来越多的年轻人选择在大城市发展。在大城市发展就意味着要在外面有一处安身的地方。在租房的过程中,大家也面临着各种各样的问题,比如需要费时费力去现场看房&…...
重大活动网络安全保障建设及运营指南
在当今高度数字化的社会中,各类重大活动如会议、展览、赛事及庆典等正面临着日益复杂和严峻的网络安全威胁。这些威胁不限于网络入侵或数据泄露,更涉及到对基础设施、关键信息系统和公众舆论的复杂攻击,需要国际社会的密切合作和长期关注。因…...
基于信号分解方法的机械故障诊断方法存在的问题
一方面,由于结构共振、测试噪声的干扰,为了确保分解精度,需要给定准确的参数初值(例如,瞬时频率)。研究人员通常认为零部件特征频率与通过传动比和驱动转速计算的理论值基本吻合,并基于理论值设置参数初值。事实上&…...
faster_whisper语音识别
faster_whisper语音识别 检测可用设备:list_available_devices()函数 我这边usb摄像头带麦克风的,所以 DEV_index 8 1 使用 pyaudio 打开音频设备 2 从音频设备读取数据,传递给 faster_whisper 识别 按键 r 录制 s 停止 q退出 test.py #…...
Java锁的策略
White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🙉 内容推荐:<多线程案例(线程池)>🙉 🐹今日诗词:"你我推心置腹, 岂能相负"🐹 目录 锁的策略 乐观锁和悲观锁 轻量级锁…...
521源码-免费代码基础学习-PHP如何运用变量教程
更多网站源码学习教程,请点击👉-521源码-👈获取最新资源 为什么要学习PHP?“我可以用JavaScript来实现程序编写。”但JavaScript的能力是有限的,JavaScript通常运行在浏览器(客户端)࿰…...
单选或者多选的知识问题调研系统,怎么使用Neo4j的图数据库来实现
为了使用Neo4j的图数据库实现单选或多选的知识问题调研系统,你需要设计和实现以下几个步骤: 设计节点和关系插入数据定义查询和更新逻辑开发前端和后端应用来与Neo4j进行交互 1. 设计节点和关系 节点类型 Question:表示一个问题ÿ…...
【微机原理及接口技术】可编程并行接口芯片8255A
【微机原理及接口技术】可编程并行接口芯片8255A 文章目录 【微机原理及接口技术】可编程并行接口芯片8255A前言一、8255A的内部结构和引脚1.与外设接口(数据端口)2.与处理器接口 二、8255A的工作方式三、8255A的编程1. 写入方式控制字:控制字…...
第3天 Web源码拓展_小迪网络安全笔记
1.关于web源码目录结构 #数据库配置文件 后台目录 模板目录 数据库目录 1.1数据库配置文件: 1.1就拿wordpress来说,先到官网下载源码:Download – WordPress.org,解压源码之后: 2.2找到目录下名为 wp-config-sample.php的文件,这就是数据库配置文件: 设想: 我们在渗透…...
基于物联网技术的智能家居实训教学解决方案
引言 随着信息技术的飞速发展,,物联网(IoT)已深入至我们生活的每一个角落,从智能家居、智能健康、智能交通到智慧城市,无所不在。物联网技术已成为推动社会进步和产业升级的重要力量。智能家居作为物联网技…...
K-近邻算法(KNN)基础详解
K-近邻算法(K-Nearest Neighbors,简称KNN)是机器学习中一种简单而有效的监督学习方法,用于分类和回归任务。其核心思想基于“物以类聚,人以群分”的原则,通过计算待分类对象与已知数据集中的样本点之间的距离,找出距离最近的K个邻居,然后根据这些邻居的类别或数值来预测…...
spring aop 内部引用失效分析
背景 用了spring retry 发现在有些场景下失效,也让我想起了之前看spring 事务时会有一些场景下失效的这个问题 代码 接口public interface UserService {public void start() ;public void stop(); }实现类 Service public class UserServiceImpl implements User…...
IEDA常用快捷键(后续更新ing)
1. 快速生成语句 1.快速生成main()方法 psvm或者main回车 2.快速生成输出语句 sout,回车 3.快速生成for循环 fori或者itar,回车 2.快捷键 含义操作查找文本CtrlF替换文本CtrlR单行注释Ctrl/多行注释CtrlShift/格式化CtrlAltL复制当前内容至下一行CtrlD补全代码Alt/快速生成…...
3.一文看懂反向传播:从单个神经元到 PyTorch 自动求导
反向求导,多层次对应一个神经,单个神经元场景 学习这一篇的前提是,已经学会了梯度算法和线性结构算法,不明白的可以去看我之前的文章。 前面看不懂的,直接跳转到 “ 反向传播的流程 ” 底层的数学算法 z 是中间变量 u …...
string的特性及使用
string这个词很容易让我们联想到str,也就是字符串,实际上string和字符串的关联性还是很强的。 很多字符串的题目都是string类的形式出现的,日常工作中为了方便使用都是用的string类, 标准string类 使用string类时,必须…...
ollama v0.20.4 正式发布!MLX 性能大幅提升 , Gemma4 闪光注意力全面启用
前言 2026年4月9日,本地大模型运行框架ollama正式推出v0.20.4 Latest稳定版本。本次更新围绕MLX硬件加速性能优化、Gemma4系列模型支持、前端代码规范、Safetensors模型创建流程、函数调用输出能力、MLX动态库兼容、集成测试体系搭建等多个核心维度展开,…...
MeteorSeed核
这个代码的核心功能是:基于输入词的长度动态选择反义词示例,并调用大模型生成反义词,体现了 “动态少样本提示(Dynamic Few-Shot Prompting)” 与 “上下文长度感知的示例选择” 的能力。 from langchain.prompts impo…...
RP2040 PIO驱动WS2812:纳秒级时序的NeoPixel库
1. 项目概述NeoPixelConnect 是一款专为 Arduino Nano RP2040 Connect 开发板设计的高性能 WS2812(NeoPixel)驱动库。该库并非基于传统 ArduinoAdafruit_NeoPixel的 PWM 或 bit-banging 实现,而是深度依托 Raspberry Pi 官方 Pico C SDK 中成…...
DS1307实时时钟芯片驱动开发与BCD编码解析
1. DS1307实时时钟芯片底层驱动技术解析DS1307是一款由Maxim(现为Analog Devices)推出的IC接口实时时钟(RTC)芯片,广泛应用于嵌入式系统中提供高精度、低功耗的时间与日期保持功能。其核心价值在于:在主系统…...
嵌入式开发工具链实战指南与效率提升
1. 嵌入式开发工具全景概览在嵌入式系统开发领域,工程师们每天都要面对交叉编译、调试、性能分析等重复性工作。经过十五年的一线开发实践,我整理出一套能显著提升效率的工具组合,这些工具覆盖了从芯片选型到产品发布的完整生命周期。不同于网…...
Qwen3.5-27B多场景落地:教育答题助手、工业质检报告生成、保险定损图分析
Qwen3.5-27B多场景落地:教育答题助手、工业质检报告生成、保险定损图分析 1. 模型概述 Qwen3.5-27B是Qwen官方发布的视觉多模态理解模型,具备强大的文本对话与图片理解能力。该模型已在4 x RTX 4090 D 24GB环境完成部署,提供以下核心功能&a…...
25大数据 6-1 for循环
嵌套if if 判断条件1:if 判断条件2:执行语句1else:执行语句2 else:if 判断条件3:执行语句3else:执行语句4驾照资格审核 1.检查年龄是否达标 >18岁 a.如果年龄达标,检查视力是否合格 >0.8 合格返回 可以参加考试 b.否则 不能参加考试 2.如果年龄不达标 <18 …...
APA第7版参考文献格式:Microsoft Word用户的终极解决方案
APA第7版参考文献格式:Microsoft Word用户的终极解决方案 【免费下载链接】APA-7th-Edition Microsoft Word XSD for generating APA 7th edition references 项目地址: https://gitcode.com/gh_mirrors/ap/APA-7th-Edition 你是否曾在深夜为论文参考文献格式…...
