python3+Selenium3中的三大等待

2023-12-11 01:59

本文主要是介绍python3+Selenium3中的三大等待,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、强制等待

强制等待也就是暂停,无论你现在打算做什么事情,都暂停;我们来看案例
在这里插入图片描述
这里可以看到我们要使用强制等待,需要导入time,这里我启动了driver,然后强制等待了两秒钟,两秒钟后我调用了driver的get方法,访问百度页面。
强制等待的优点:使用起来比较方便,简单。
强制等待的缺点:就是无法精准的把握等待的时间,如果强制等待在程序中使用多了,会影响整个自动化的运行时间。

二、隐式等待

隐式等待就是设置了一个等待时间给你加载全部的内容,然后在这段时间内如果你没有加载完,就给你抛出超时的异常;如果你在这段时间内某个时间完成了,就立即执行下一步。
在这里插入图片描述
这里我们可以看到,要使用隐式等待,我们就要调用implicitly_wait方法。
隐式等待的优点:隐式等待是一个全局等待,也就是说只要设置一次,无论你执行到哪一步,它都会先执行隐式等待,再执行下一步操作
隐式等待的缺点:①必须整个页面加载完了才能执行下一步,同样无法精准的把握等待的时间,有时候我们要的元素已经出现,但还是需要等到全部加载完成才能进行下一步;②设置了一次之后,所有的执行前面都会先执行一次隐式等待

三、显示等待

显示等待就是指定等待元素、等待最长时间、步长(也就是寻找元素的频率),然后等待这个元素找到或未找到。直接上案例。
在这里插入图片描述这里可以看出显示等到使用起来就相对前面的两种等待复杂的多,显示等待一般与untiluntil_not进行连用,until表示:等待该元素加载;until_not则反之
显示等待的优点:对某个元素进行精准的等待,不会因为等待而耗费时间,如果条件成立,立即执行下一步,不成立则抛出异常
显示等待的缺点:使用起来相对其他两种等待方式较复杂

这篇关于python3+Selenium3中的三大等待的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/479061

相关文章

一文详解Java Condition的await和signal等待通知机制

《一文详解JavaCondition的await和signal等待通知机制》这篇文章主要为大家详细介绍了JavaCondition的await和signal等待通知机制的相关知识,文中的示例代码讲... 目录1. Condition的核心方法2. 使用场景与优势3. 使用流程与规范基本模板生产者-消费者示例

Python3中Sanic中间件的使用

《Python3中Sanic中间件的使用》Sanic框架中的中间件是一种强大的工具,本文就来介绍Python3中Sanic中间件的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录Sanic 中间件的工作流程中间件的使用1. 全局中间件2. 路由中间件3. 异常处理中间件4. 异步中间件5. 优先级

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

JVM、JRE和 JDK:理解Java开发的三大核心组件

Java是一门跨平台的编程语言,它的成功离不开背后强大的运行环境与开发工具的支持。在Java的生态中,JVM(Java虚拟机)、JRE(Java运行时环境)和JDK(Java开发工具包)是三个至关重要的核心组件。本文将探讨JVM、JDK和JRE的区别,帮助你更好地理解Java的运行机制。 1. JVM:Java虚拟机(Java Virtual Machine) 什么是JVM? JVM,即

Python安装:Mac 使用brew 安装Python2 和 Python3

安装python ## python2brew install python ## python3brew install python3 出现错误 Error: An unexpected error occurred during the `brew link` stepThe formula built, but is not symlinked into /usr/loc

Python: #!/usr/bin/python3 #!/usr/bin/env python3

只能放在第一行,第二行就没有效果了。 1. 路径不同 #!/usr/bin/python3&& #!/usr/bin/env python3写在脚本语言第一行的目的是 想要以什么可执行程序去运行这个文件中的代码。 #!/usr/bin/python3是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python3解释器; #!/usr/bin/env python3这种用法是为了

接口自动化三大经典难题

目录 一、接口项目不生成token怎么解决关联问题 1. Session机制 2. 基于IP或设备ID的绑定 3. 使用OAuth或第三方认证 4. 利用隐式传递的参数 5. 基于时间戳的签名验证 二、接口测试中网络问题导致无法通过怎么办 1. 重试机制 2. 设置超时时间 3. 使用模拟数据 4. 网络问题的预检测 5. 日志记录与错误分析 6. 切换网络环境 7.

Linux搭建Python3、Django环境

开发十年,就只剩下这套架构体系了! >>>    好久没写了,朋友们,我又回来了。 安装Python3 Python全部版本下载地址:         https://www.python.org/ftp/ 解决RedHat,使用Python3退格出现乱码问题:         yum -y install readline-devel.x86_64 下载Python3:

ubuntu 安装python3 教程

本篇教程,主要介绍如何在Ubuntu上安装python3教程。 1、查看是否有python 在安装前,首先看看自己系统上,是否存在python环境,可能有些系统,默认就安装过python,如果已经有python了,可以直接跳过安装教程。 2、安装步骤 apt update && apt install -y python3 python3-pip

LabVIEW环境中等待FPGA模块初始化完成

这个程序使用的是LabVIEW环境中的FPGA模块和I/O模块初始化功能,主要实现等待FAM(Field-Programmable Gate Array Module,FPGA模块)的初始化完成,并处理初始化过程中的错误。让我们逐步分析各部分的功能: 1. Wait for FAM Initialization框架 此程序框架用于等待I/O模块成功初始化。如果在5秒钟内模块没有完成配