广告位联系
返回顶部
分享到

python的三种等待方式及优缺点介绍

python 来源:互联网 作者:佚名 发布时间:2024-12-06 21:43:38 人浏览
摘要

一、调用方式 1.强制等待 调用time模块,使用time.sleep(n),强制等待n秒 2.隐式等待 implicitly_wait(n),设置隐式等待最大时间n秒,等待元素加载完成,如果到了时间元素没有加载出,就抛出一个NoS

一、调用方式

1.强制等待

调用time模块,使用time.sleep(n),强制等待n秒

2.隐式等待

implicitly_wait(n),设置隐式等待最大时间n秒,等待元素加载完成,如果到了时间元素没有加载出,就抛出一个NoSuchElementException的错误。

3.显式等待

调用WebDriverWait()类,显性等待是对指定元素进行等待的一种等待方式。通过设置最大等待时间,检查频率对页面的元素来进行等待,一旦找到元素,则停止等待,进入后续步骤,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException异常。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

from selenium import webdriver

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.by import By

 

driver = webdriver.Chrome()

driver.get('https://www.baidu.com')

# 设置浏览器:driver  等待时间:?

wait = WebDriverWait(driver, 秒数)# 重要!

# 设置判断条件:等待id='kw'的元素加载完成

input_box = wait.until(EC.presence_of_element_located((By.ID, 'kw')))

# 在关键词输入:关键词

input_box.send_keys('关键词')

driver.quit()

二、优缺点

1.强制等待

缺点:较为死板,不能准确把握等待时间,若大量使用会影响执行效率,浪费不必要的时间

优点:调用简单,可在调试时使用

2.隐式等待

缺点:使用不是很灵活,程序会一直等待整个页面加载完成,才会执行下一步操作,需要等待时间完成;在等待时间内页面没有加载完成,时间一到也会进入下一步操作,要定位的元素没有出现则会报元素无法找到的错误

优点:对整个driver的周期都起作用,每一次操作都会隐式等待,只设置一次

3.显示等待

缺点:使用相对复杂,和强制等待类似,每一行等待只执行一次

优点:等待判断准确,不会浪费多余的等待时间,可提高执行效率


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 使用Python中wordcloud库绘制词云图的教程

    使用Python中wordcloud库绘制词云图的教程
    词云图(Word Cloud)是数据可视化中常用的一种技术,通过将文字以不同的大小、颜色和方向排列,以展示文本数据中词汇的频次和重要性。
  • Python文件批量处理操作的实现
    在日常的开发和数据处理过程中,我们可能会遇到需要对大量文件进行批量操作的场景。比如,批量重命名文件、批量移动文件、批量修改
  • python的三种等待方式及优缺点介绍
    一、调用方式 1.强制等待 调用time模块,使用time.sleep(n),强制等待n秒 2.隐式等待 implicitly_wait(n),设置隐式等待最大时间n秒,等待元素加载完
  • 利用Python爬虫精准获取淘宝商品

    利用Python爬虫精准获取淘宝商品
    在数字化时代,数据的价值日益凸显,尤其是在电子商务领域。淘宝作为中国最大的电商平台之一,拥有海量的商品数据,对于研究市场趋
  • PIL图像与数组之间转换的使用二十j

    PIL图像与数组之间转换的使用二十j
    getpixel 如果想对图像进行细致地处理,那么操作像素是必不可少的一步。在Image类中,通过getpixel可以得到图像在某个坐标位置处的像素值,
  • Python利用xmltodict实现字典和xml互相转换的代码
    xmltodict简介 概念 xmltodict是Python中用于处理XML数据的模块,它可将XML数据转换为字典,简化XML解析过程,同时保留数据结构,便于操作。 反
  • python中pip的使用方法介绍
    pip 是 Python 的默认包管理工具,随 Python 3.x 版本一同安装。它使得安装和管理 Python 包变得非常简单。本文将介绍 pip 的基本使用方法、常用
  • 基于Python制作一个全自动微信清粉小工具
    在当今社交软件中,微信是最常用的通讯工具之一。然而,随着时间的推移,我们的好友列表中可能会出现一些不再活跃的账号,也就是我
  • YOLOv8模型pytorch格式转为onnx格式的步骤介绍

    YOLOv8模型pytorch格式转为onnx格式的步骤介绍
    一、YOLOv8的Pytorch网络结构 yolov8网络从1-21层与pt文件相对应是BackBone和Neck模块,22层是Head模块。 二、转ONNX步骤 2.1 yolov8官方 1 2 3 4 5 6 7 8 9
  • Python中addict库使用Dict的类

    Python中addict库使用Dict的类
    from addict import Dict这行代码导入了 Dict 类,它来自于 addict 模块。在这个上下文中,addict 是一个 Python 库,它提供了一个名为 Dict 的类,用于
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计