selenium学习:等待方式

news/2024/12/12 0:38:00/

隐式等待

1.针对查找元素设置最大的超时时间
2.可以全局性的设置
3.不满足时,提示no such element

driver.implicitly_wait(5) #对查找元素最大的超时时间,如果超过最大等待时间后,没有找到元素,则会报错:no such #elementexception

显式等待

直到传递给他的条件得到解决,才会继续,否则会报错。他会以一定频率调用该条件,直到等待超时结束
1.不仅仅针对元素查找,还支持很多条件
2.显示等待支持自定义条件
3.不满足时报错TimeoutException

  wait = WebDriverWait(driver,10)#常见显示等待对象,其中包含参数(driver,timeout=10,poll_frequency=0.5) 超时时间时10s,每0.5秒去轮询login_link=wait.until(expected_conditions.presence_of_element_located((By.LINK_TEXT,'登录')))#expected_conditions 方法名字#(By.LINK_TEXT,'登录')是一个元组

自定义

参考expected_conditions里面的方法
1.页面包含指定元素

def text_contains(text:str):def _predicate(driver):return text in driver.page_sourcereturn _predicate

expected_conditions文件中的方法
在这里插入图片描述
2.自定义显示等待-点击元素成功

def click_success(locator):def _predicate(driver):try:element = driver.find_element(*locator)element.click()return Trueexcept:return Falsereturn _predicate
    wait = WebDriverWait(driver,timeout=10)wait.until(click_success((By.LINK_TEXT,'进入个人中心')))# driver.find_element(By.LINK_TEXT,'进入个人中心').click()

sleep()

time.sleep(n)


http://www.ppmy.cn/news/1554355.html

相关文章

Android UI:ViewTree:源码分析:事件处理:显示事件

文章目录 概述测量:measure和onMeasure​​​​​​​ View.MeasureSpecViewViewGroupLinearLayoutRelativeLayout布局:layout和onLayout ViewViewGroupLinearLayoutRelativeLayout绘制:dispatchDraw、draw和onDraw ViewViewGroupLinearLayoutRelativeLayout总结概述 显示事…

K8S命令部署后端(流水线全自动化部署)

前言 本文为链接: 云效流水线k8s半自动部署java(保姆级)的补充,本文起初的目的是为了补充完善k8s流水线的全自动化部署,但是也适用于k8s的一键重启,因为使用k8s的web页面容易出现漏点的情况,因此也可以把代码保存为shell脚本,同样可以实现一键重启。关于…

页面置换算法模拟 最近最久未使用(LRU)算法

最近最久未使用(LRU)算法是一种基于页面访问历史的页面置换算法。它选择最久未使用的页面进行置换。当需要访问一个不在内存中的页面时,如果内存已满,则选择最久未使用的页面进行置换。LRU算法通过记录页面的访问时间戳来判断页面…

wlanapi.dll丢失怎么办?有没有什么靠谱的修复wlanapi.dll方法

在遇到各种系统文件错误当中,其中之一就是“wlanapi.dll文件丢失”的问题。这种问题通常发生在Windows操作系统上,特别是当系统试图执行与无线网络相关的任务时。wlanapi.dll是一个重要的系统文件,它负责处理Windows无线网络服务的许多功能。…

前端-使用vue-cli脚手架创建项目

1.下载node:2.下载完检查是否安装成功 在cmd中输入:node --version或node -v 再在cmd中输入: npm -v npm默认的仓库地址是在国外,速度慢,所以设置淘宝镜像,速度就提升了,不设淘宝镜像也可以。 3.设置…

Hadoop生态圈框架部署(九-2)- Hive HA(高可用)部署

文章目录 前言一、Hive部署(手动部署)下载Hive1. 上传安装包2. 解压Hive安装包2.1 解压2.2 重命名2.3 解决冲突2.3.1 解决guava冲突2.3.2 解决SLF4J冲突 3. 配置Hive3.1 配置Hive环境变量3.2 修改 hive-site.xml 配置文件3.3 配置MySQL驱动包3.3.1 下在M…

opencvocr识别手机摄像头拍摄的指定区域文字,文字符合规则就语音报警

安装python,pycharm,自行安装。 Python下安装OpenCv 2.1 打开cmd,先安装opencv-python pip install opencv-python --user -i https://pypi.tuna.tsinghua.edu.cn/simple2.2 再安装opencv-contrib-python pip install opencv-contrib-python --user …

CSS Flexbox 与 Grid 布局详解

CSS Flexbox 与 Grid 布局详解 在现代网页设计中,布局的灵活性和响应性是至关重要的。CSS 提供了两种强大的布局工具:Flexbox 和 Grid。这两种布局方式各有优势,能够帮助开发者创建复杂的、响应式的网页布局。本文将深入探讨 CSS Flexbox 和…