Selenium自动化测试网页加载太慢怎么解决?
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快遇到网页加载慢selenium运行效率降低可以通过修改页面加载策略提升自动化效率。selenium加载很慢通过URL导航到新页面时默认情况下Selenium将等待文档完全被加载才会执行下面的操作此时网页的加载状态为 complete。这种状态可以在浏览器中通过document.readyState获取当网页没有完全加载时显示为interactive加载完成后显示complete。页面加载完成后再试图访问其他JavaScript 动态加载的内容。如果网页打开速度很慢可能是由于加载了一些非常耗时的内容比如图像、css文件和JS文件此时会在页面中出现正在加载的圈圈。设置 set_page_load_timeout 解决对于一些加载比较慢的资源在进行 自动化测试的时候没有必要等到所有的元素加载完成再进行元素定位。设置一个超时时间如果页面加载超过了指定时间手工终止页面相当于用手点击浏览器的 X 按钮让页面停止加载。# 设置加载超时时间为 5 s driver.set_page_load_timeout(5) try: return driver.get(url) except TimeoutException: # 调用 js 脚本终止页面加载 driver.execute_script(window.stop())代码有 3 个点1 设置超时时间为 5 秒2 执行 driver.get(url) 时页面加载如果不超过 5 秒不会报错超过 5 秒会抛出超时异常3 使用 TimeoutException 捕获超时异常。当超时后执行 js 指定终止页面加载。接下来封装页面 get 方法class IndexPage(): url http://jiubing def __init__(self, driver, load_timeout5): self.driver driver self.driver.set_page_load_timeout(load_timeout) def get(self): try: return self.driver.get(self.url) except TimeoutException: self.driver.execute_script(window.stop()) ...其他的代码都不需要发生变化只需要在加载耗时的地方添加 IndexPage(driver).get() 让页面按照设置的超时时间加载就可以了。新的测试时间为 11.3 秒 测试效率提升将近 60%。应用在网页加载比较慢的情况下把加载策略pageLoadStrategy设成eager或者none能有效提升自动化脚本的速度但是这种方式不是十全十美的由于还有资源没有加载完成它可能会导致之后的元素定位失败从而造成脆弱的测试。在实践中还是应该结合具体情况来设置。一般使用默认加载策略只有部分页面确实非常耗时并且未加载的元素不会影响后面的定位才会视图修改加载策略。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。

相关新闻

Windows下React Native Android环境搭建与真机调试指南

Windows下React Native Android环境搭建与真机调试指南

1. Windows下React Native Android环境搭建全攻略作为跨平台移动开发的利器,React Native让开发者能够用JavaScript构建原生应用。但在Windows平台上搭建完整的Android开发环境,往往会遇到各种"坑"。本文将基于最新稳定版React Native 0.73&am…

2026/7/19 5:13:10 阅读更多 →
C++17实战指南:从特性选型到项目落地的完整工程实践

C++17实战指南:从特性选型到项目落地的完整工程实践

1. 项目概述:一份面向实践的C17项目指南最近在社区里看到不少朋友在问,手头有个C项目,想用上C17的新特性,但官方文档要么太散,要么太理论,有没有一份能直接“抄作业”的实战指南?这让我想起自己…

2026/7/19 5:13:10 阅读更多 →
QoS服务质量设置原理与实战:从家庭宽带到云原生的流量调度指南

QoS服务质量设置原理与实战:从家庭宽带到云原生的流量调度指南

1. 什么是服务质量设置:它不是配置菜单里的一个开关,而是网络资源的“交通调度员”“Quality of Service settings”——这个短语在路由器管理界面、企业防火墙策略页、云服务控制台甚至Wi-Fi 6 AP的高级选项里反复出现,但绝大多数人点开后只…

2026/7/19 5:13:10 阅读更多 →

最新新闻

Unity版本选择实战指南:从命名规则到多场景策略

Unity版本选择实战指南:从命名规则到多场景策略

1. 项目概述:为什么Unity版本选择是项目成败的第一步?如果你刚接触Unity,或者正准备启动一个新项目,面对Unity Hub里那长长一串版本号,是不是有点懵?2022.3.20f1、2021.3.34f1、2023.1.0a12……这些数字和字…

2026/7/19 8:11:17 阅读更多 →
Android ImageView不显示JPEG图片的排查与解决方案

Android ImageView不显示JPEG图片的排查与解决方案

1. Android ImageView不显示JPEG图片的排查指南 在Android开发中,ImageView是最常用的图片展示控件之一。但很多开发者都遇到过这样的问题:明明图片资源已经放在项目里了,ImageView却死活不显示JPEG格式的图片。这种情况通常由以下几个原因导…

2026/7/19 8:11:17 阅读更多 →
OCR模型选型实战指南:用OCR Arena进行公平能力对决

OCR模型选型实战指南:用OCR Arena进行公平能力对决

1. 项目概述:为什么你不能再靠“试一个、换一个”来选OCR模型了 我做文档智能处理项目快八年了,从最早用Tesseract 3.0手调二值化参数,到后来集成Google Cloud Vision API写重试逻辑,再到最近半年帮三家金融客户落地合同结构化系统…

2026/7/19 8:11:17 阅读更多 →
SageMaker影子部署实战:零风险验证新模型

SageMaker影子部署实战:零风险验证新模型

1. 项目概述:为什么“影子部署”是模型上线前最值得花时间的一道工序 在 Amazon SageMaker 上部署一个新训练好的机器学习模型,往往只需要十几行代码、几分钟等待——但真正决定这个模型能否长期稳定服务用户的,从来不是部署那一刻的顺利&…

2026/7/19 8:11:17 阅读更多 →
Objective-C中使用Protocol Buffers实现高效通信

Objective-C中使用Protocol Buffers实现高效通信

1. Protocol Buffers与Objective-C通信基础 Protocol Buffers(简称protobuf)是Google开发的一种高效数据序列化格式,特别适合在网络通信和数据存储场景中使用。在Objective-C项目中集成protobuf可以显著提升数据传输效率和跨平台兼容性。 pr…

2026/7/19 8:11:17 阅读更多 →
AM62L DDR防火墙配置实战:从寄存器解析到安全内存隔离

AM62L DDR防火墙配置实战:从寄存器解析到安全内存隔离

1. 从寄存器手册到实战配置:理解AM62L DDR防火墙的核心价值 如果你正在基于TI的AM62L Sitara处理器开发一个嵌入式系统,尤其是在汽车电子或工业控制这类对功能安全和信息安全有严苛要求的领域,那么你迟早会碰到一个绕不开的话题: …

2026/7/19 8:10:17 阅读更多 →

日新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/19 0:00:40 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/19 0:00:40 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/19 0:00:40 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/19 0:00:40 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/19 0:00:40 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/19 0:00:40 阅读更多 →

月新闻