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

selenium其他重要的Api

元素等待方法

认识等待

由于⽹络或其他原因,元素未能及时加载出来,⽽代码已执⾏,会触发异常,故要设置等待。代码执⾏过程中,第⼀次未找到元素,先不抛出异常。激活等待时间,在等待过程中如果找到元素就执⾏。

隐式等待

说明:定位元素时,如果能定位到元素则直接返回该元素,不触发等待,如果不能定位到该元素,则间隔一段时间后再去定位元素,如果在达到最大时长时还没有找到指定元素,则抛出元素不存在的异常NoSuchElementException。

代码:

driver.implicitly_wait(30)  //设置30秒的等待时间

注意:隐式等待针对全部元素生效。一般写在定位元素前面。

显示等待

说明:定位元素时,如果能定位到元素则直接返回该元素,不触发等待,如果不能定位到该元素,则间隔一段时间后再去定位元素,如果在达到最大时长时还没有找到指定元素,则抛出超时异常 TimeoutException。

实现方式:

from selenium.webdriver.support.wait import WebDriverWait  //导包
element = WebDriverWait(driver,10,0.5).until(lambda x:x.find_element(。。。。。))

说明: 针对单个元素⽣效,可以修改查找频率和超时时间。

强制等待

代码

time.sleep(10)  //强制等待10秒

说明:不灵活的等待。

frame切换

认识frame:HTML页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素,f12会发现有iframe标签

切换方法:

切换指定iframe:

driver.switch_to.frame(element)  //element代表iframe标签元素对象

进入子页面要出来可以使用下面代码:

driver.switch_to.default_content()

窗口(标签页)切换

多窗口:

点击超链接后,如果打开⽅式新窗⼝打开,那么就会出现多窗⼝。

切换原因:

selenium默认启动时,所有的焦点在启动窗⼝,那么意味着⽆法操作其他窗⼝的标签。

切换方法:

handles = driver.window_handles  //获取所有窗⼝句柄
driver.switch_to.window(handles[1])   //使⽤句柄切换窗⼝

句柄:窗⼝的唯⼀标识符。

窗口截图方法

UI自动化测试统一运行时无人值守,错误信息记录不是十分明确,可以进行截图加上错误消息快速分析错误。

代码:

filename = f"./img/{time.strftime('%Y%m%d%H%M%S')}.png"
driver.get_screenshot_as_file(filename)

上面的代码表示截图的图片统一放在当前目前的img目录下,图片用年月日时分秒来命名。

验证码处理方式

要进行后续业务操作就必须登录,自动化处理验证码的方式之一就是采用cookie。cookie是由服务器⽣成,存储在客户端的登录凭证。

举例:

使用cookie实现百度登录

1.先手工登录百度获取cookie。

登录百度后,在f12->网络->点击www.baidu.com->Cookie

在列表中找到一个叫BDUSS的,把对应的值复制保存下来。BDUSS是登录百度后的唯一身份凭证,拿到BDUSS就等于拿到帐号的控制权,实际网站测试中哪个是唯一身份凭证要问开发。

2.代码添加cookie,并刷新页面。

driver.get("https://www.baidu.com/")data = {"name":"BDUSS","value":"xxx"}  //xxx就是之前复制的值。# 将cookie塞入驱动对象中
driver.add_cookie(data)
print(driver.get_cookie("BDUSS"))
time.sleep(2)# 刷新浏览器
driver.refresh()
http://www.jsqmd.com/news/69574/

相关文章:

  • 机器学习基础
  • # sg.计算器
  • 洛谷P2860 [USACO06JAN] Redundant Paths G 题解 边双连通分量
  • AI真好玩系列-免费解锁 Google Gemini 的几种方式
  • 智能猫砂盆方案商权威推荐:技术驱动宠物养护新体验 - 星报
  • 网络线序问题了解
  • 洛谷U640024 找割边 题解
  • Python 学习笔记(01)
  • Python Flask service provide data list and retrieve and display in chrome via html and javascript
  • 2025最新PC仿石砖增强剂品牌TOP5评测!绿色建材赋能市政工程,权威榜单发布 - 全局中转站
  • 图文并茂-手把手教宝子们3分钟用 GitHub Pages 搭建免费网站 (保姆级教程)
  • 2025权威聚焦:智能门窗控制器解决方案商综合推荐,引领智慧生活新入口 - 星报
  • 2025最新聚脲防腐防水涂料/厂家TOP5评测!环保科技+工程实证权威榜单发布,功能涂料赋能基建防护新生态 - 全局中转站
  • 2025最新彩砖专用水性色浆服务商/厂家TOP5评测!环保创新+性能实证权威榜单发布,技术赋能重构彩砖涂装生态 - 全局中转站
  • 剪映vip破解版 分享
  • 2025 智能电壁炉解决方案商权威推荐:赋能家居暖意与智慧节能 - 星报
  • 2025年电壁炉解决方案商综合推荐:驱动智能取暖与美学融合的新浪潮 - 星报
  • 2025 最新聚脲地坪服务商 / 厂家 TOP5 评测!环保高性能 + 全场景适配权威榜单发布,技术创新引领地坪材料升级 - 全局中转站
  • 一只菜鸟学深度学习的日记:填充 步幅 下采样
  • 51
  • 2025最新无机水性涂料品牌/厂家TOP5评测!环保性能与工程适配权威榜单发布,功能性涂料技术革新引领行业升级 - 全局中转站
  • 黑马程序员SpringCloud微服务开发与实战-微服务-配置管理
  • git-ssh - yebinghuai-qq
  • Linux中级のNginx~2
  • 2025 最新水性地坪漆厂家 TOP5推荐!水性地坪漆年度品牌榜,环保性能 + 技术创新优质供应商,专业赋能地面涂装新体验 - 全局中转站
  • 数据采集与融合技术实践4
  • 12月9日日记
  • 2025.12.9总结
  • 2025 最新路面胶粘剂厂家 TOP5 评测!路面胶粘剂优质国产品牌年度榜单,绿色环保 + 性能实证权威榜单发布,技术赋能重构路面工程生态 - 全局中转站
  • 2025年国内十大检定器生产厂家实力排行榜,贯入式砂浆强度检测仪/回弹仪检定器/裂缝测深仪/裂缝测宽仪/数显碳化深度尺检定器供应厂家找哪家 - 品牌推荐师