当前位置: 首页 > 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.gsyq.cn/news/80132.html

相关文章:

  • # sg.计算器
  • 2025最新PC仿石砖增强剂品牌TOP5评测!绿色建材赋能市政工程,权威榜单发布 - 全局中转站
  • 2025最新聚脲防腐防水涂料/厂家TOP5评测!环保科技+工程实证权威榜单发布,功能涂料赋能基建防护新生态 - 全局中转站
  • 2025最新彩砖专用水性色浆服务商/厂家TOP5评测!环保创新+性能实证权威榜单发布,技术赋能重构彩砖涂装生态 - 全局中转站
  • 剪映vip破解版 分享
  • 2025 最新聚脲地坪服务商 / 厂家 TOP5 评测!环保高性能 + 全场景适配权威榜单发布,技术创新引领地坪材料升级 - 全局中转站
  • 一只菜鸟学深度学习的日记:填充 步幅 下采样
  • 51
  • 数据采集与融合技术实践4
  • 12月9日日记
  • 2025.12.9总结
  • 2025 最新桥梁防腐涂料厂家 TOP5 评测!环保高性能 + 技术创新权威榜单发布,守护基础设施安全与耐久 - 全局中转站
  • 12/9
  • Nginx日志切割
  • 6502 算术逻辑单元(ALU)
  • make出错立即终止
  • Testing Reprised之关于基米
  • OTOFIX IM2 1-Year Update Subscription: Ensure Latest Vehicle Diagnostics for European/American Cars
  • 2025最新水洗石抗污剂厂家TOP5评测!环保性能与抗污效果品牌双权威榜单发布,技术赋能重构景观防护生态 - 全局中转站
  • 我的 OI 生涯(更新中)
  • 为AI时代蓄力:除了几大热门,还有哪些值得关注的少儿编程选择? - 品牌测评鉴赏家
  • diff的安装与使用
  • 【树莓派】搭建树莓派的交叉编译环境
  • 少儿编程:培养未来小极客,这些好处和机构家长必须知道! - 品牌测评鉴赏家
  • QT CMake项目中spdlog编译优化实战:从30秒到毫秒级的构建优化
  • 7-16岁少儿编程课精选推荐:从启蒙到竞赛的系统路径 - 品牌测评鉴赏家
  • 权威盘点:2025年中国智能舆情监控系统市场深度解析
  • ABC352D 题解
  • 12月9号
  • CF1407D 题解