当前位置: 首页 > news >正文

Python 中使用 Selenium 隐式等待

selenium 包用于使用 Python 脚本进行自动化和测试。 我们可以使用它来访问网页中的各个元素并使用它们。

该包中有许多方法可用于根据不同属性检索元素。 加载页面时,会动态检索一些元素。

与其他元素相比,这些元素的加载速度可能不同。


Python 中使用 Selenium 隐式等待

如果我们尝试获取不可用的元素,则会引发 ElementNotVisibleException。 发生这种情况是因为该元素已在源中定义,但在 DOM 中尚未可见。

为此,我们可以使用隐式等待。 通过使用 selenium 的隐式等待,我们可以告诉 webdriver 对象在抛出异常之前等待所需的时间。

如果在此期间没有找到所需的元素,则会抛出异常。

我们使用implicitly_wait()函数来设置隐式等待时间。 该函数与 webdriver 一起使用来指定隐式等待时间。

时间指定为秒。

请参阅下面的代码。

from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.implicitly_wait(10)
driver.get("https://www.sample.org/")
e = driver.find_element_by_id("some_form")

在上面的示例中,我们使用 webdriver 对象重定向到网页,并尝试使用 find_element_by_id() 函数检索元素。 该函数将查找 id 属性与提供的值匹配的元素。

由于这是一个动态元素,我们使用 implicitly_wait() 方法指定十秒的隐式时间,以确保元素有时间加载。

相关文章:

  • Apache Airflow (四) :Airflow 调度shell命令
  • 手写链表C++
  • Hadoop学习总结(使用Java API操作HDFS)
  • [工业自动化-10]:西门子S7-15xxx编程 - PLC主站 - 信号量:数字量
  • C语言如何执行HTTP GET请求
  • linux espeak语音tts;pyttsx3 ubuntu使用
  • Linux系统编程——文件的光标移动
  • 前端设计模式之【访问者模式】
  • 计算机视觉与深度学习 | 改进的SIFT立体匹配算法
  • IP行业API助力于网络分析和数据挖掘
  • centos安装docker和docker-compose
  • 华为eNSP实验-QinQ基本实验
  • 【OpenHarmony内核】Harmony内核之线程操作函数(二)
  • sql语句-实体属性有集合怎么批量查询
  • react 修改less文件后保存,内存溢出,项目崩溃问题解决
  • [译]CSS 居中(Center)方法大合集
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • java中的hashCode
  • leetcode讲解--894. All Possible Full Binary Trees
  • php ci框架整合银盛支付
  • Theano - 导数
  • vue的全局变量和全局拦截请求器
  • 阿里研究院入选中国企业智库系统影响力榜
  • 爱情 北京女病人
  • 初识MongoDB分片
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 基于Android乐音识别(2)
  • 前端存储 - localStorage
  • 前端学习笔记之观察者模式
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 应用生命周期终极 DevOps 工具包
  • ​Java并发新构件之Exchanger
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • !$boo在php中什么意思,php前戏
  • #pragma once与条件编译
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (0)Nginx 功能特性
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (C#)获取字符编码的类
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (一)基于IDEA的JAVA基础1
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)甲方乙方——赵民谈找工作
  • .NET CLR基本术语
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET开源项目介绍及资源推荐:数据持久层
  • .net下的富文本编辑器FCKeditor的配置方法
  • @angular/cli项目构建--http(2)
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [51nod1610]路径计数
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [c#基础]DataTable的Select方法
  • [C++] 多线程编程-thread::yield()-sleep_for()
  • [C++]四种方式求解最大子序列求和问题