您当前的位置:首页 > 电脑百科 > 站长技术 > 网站

Selenium自动化测试网页加载太慢怎么办

时间:2022-07-30 10:20:19  来源:  作者:VT漫步

遇到网页加载慢,selenium运行效率降低,可以通过修改页面加载策略提升自动化效率。

selenium加载很慢

通过URL导航到新页面时,默认情况下,Selenium将等待文档完全被加载才会执行下面的操作,此时网页的加载状态为 complete。

这种状态可以在浏览器中通过document.readyState获取,当网页没有完全加载时,显示为interactive,加载完成后显示complete。页面加载完成后,再试图访问其他JAVAScript 动态加载的内容。

 

如果网页打开速度很慢,可能是由于加载了一些非常耗时的内容,比如图像、css文件和JS文件,此时会在页面中出现正在加载的圈圈。

 

设置 set_page_load_timeout 解决

对于一些加载比较慢的资源,在进行自动化测试的时候没有必要等到所有的元素加载完成,再进行元素定位。

设置一个超时时间,如果页面加载超过了指定时间,手工终止页面,相当于用手点击浏览器的 X 按钮,让页面停止加载。

# 设置加载超时时间为 5 sdriver.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_timeout=5):        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能有效提升自动化脚本的速度,但是这种方式不是十全十美的,由于还有资源没有加载完成,它可能会导致之后的元素定位失败,从而造成脆弱的测试。在实践中还是应该结合具体情况来设置。

一般使用默认加载策略,只有部分页面确实非常耗时,并且未加载的元素不会影响后面的定位才会视图修改加载策略。



Tags:Selenium   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
遇到网页加载慢,selenium运行效率降低,可以通过修改页面加载策略提升自动化效率。selenium加载很慢通过URL导航到新页面时,默认情况下,Selenium将等待文档完全被加载才会执行下...【详细内容】
2022-07-30  Tags: Selenium  点击:(0)  评论:(0)  加入收藏
首先你得知道什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、...【详细内容】
2022-05-10  Tags: Selenium  点击:(50)  评论:(0)  加入收藏
Selenium 操作被屏蔽使用selenium自动化网页时,有一定的概率会被目标网站识别,一旦被检测到,目标网站会拦截该客户端做出的网页操作。比如淘宝和大众点评的登录页,当打开浏览器,...【详细内容】
2022-04-06  Tags: Selenium  点击:(34)  评论:(0)  加入收藏
前言目前是直播行业的一个爆发期,由于国家对直播行业进行整顿和规范,现在整个直播行业也在稳固发展。随着互联网和网络直播市场的快速发展,相信未来还有广阔的发展前景。今天用...【详细内容】
2022-03-15  Tags: Selenium  点击:(113)  评论:(0)  加入收藏
第一步:pip install selenium 第二步:查看自己的谷歌浏览器版本 第三步:浏览器输入chromedriver mirror,查找与自己谷歌浏览器版本最相近的压缩包,但不能超过该版本。 因为...【详细内容】
2022-02-08  Tags: Selenium  点击:(201)  评论:(0)  加入收藏
相比于高大上的各种Selenium进阶指南,个人认为夯实基础至关重要在Selenium测试框架的API中,主要分为三大类:1.对浏览器本身的相关操作2.对浏览器页面中,元素的定位操作3.对浏览...【详细内容】
2021-07-08  Tags: Selenium  点击:(206)  评论:(0)  加入收藏
在写爬虫的时候,为了效率我们通常会选择解析网页api来获取数据,但是有时候解析方式比较困难,或者我们纯粹是为了快速实现爬虫,会使用浏览器自动化操作,说起这一点,肯定第一个想到...【详细内容】
2020-10-27  Tags: Selenium  点击:(158)  评论:(0)  加入收藏
Chrome官方网站已经说的很清楚,不再支持6.x的CentOS,至少7以上。 可是很多时候我们使用的服务器版本并不能随便升级,即便已经很难受了,但是还得继续使用低版本,装起来那是真叫一...【详细内容】
2020-08-10  Tags: Selenium  点击:(138)  评论:(0)  加入收藏
由于在实际的测试环境下,使用图形界面的浏览器占用测试机资源过大效率低, 一般来说,在调试好脚本的基础上,抛开浏览器图形界面执行测试用例的.现在可以使用的无头浏览器有很...【详细内容】
2020-06-26  Tags: Selenium  点击:(108)  评论:(0)  加入收藏
selenium主要是用来做自动化测试,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。模拟浏览器进行网页加载,当requests,urllib无法正常获取网页内容的时候 一、声明浏览...【详细内容】
2019-12-11  Tags: Selenium  点击:(150)  评论:(0)  加入收藏
▌简易百科推荐
遇到网页加载慢,selenium运行效率降低,可以通过修改页面加载策略提升自动化效率。selenium加载很慢通过URL导航到新页面时,默认情况下,Selenium将等待文档完全被加载才会执行下...【详细内容】
2022-07-30  VT漫步    Tags:Selenium   点击:(0)  评论:(0)  加入收藏
网站加密证书一般指网站HTTPS加密证书,HTTPS加密证书的作用是加密网站客户端到服务器端的传输数据,如用户名密码等,保障他们的安全,避免被黑客窃取和篡改,所以支付网站,银行网站,电...【详细内容】
2022-07-26  云端修行    Tags:HTTPS   点击:(8)  评论:(0)  加入收藏
在很多阿里双11高并发场景经常提到QPS、TPS、RT、吞吐量等指标,这些高并发高性能指标都是什么含义?如何来计算?下面我一一详解@mikechen系统吞度量 系统吞吐量指的是系统在单...【详细内容】
2022-07-24  mikechen的互联网架构    Tags:QPS   点击:(12)  评论:(0)  加入收藏
随着网络的普及,大多数人都是喜欢在手机端搜索他们想要的东西,但手机端也有弊端,比如更新速度快,架构规划、设计表现形式、及交互体验甚至是阅读体验等都无法满足访客日益增长的...【详细内容】
2022-07-22  百仑科技    Tags:手机站   点击:(15)  评论:(0)  加入收藏
拿到的证书分两个文件,一个是xxx.crt,一个是xxx.key,分别对应公钥和私钥。 1.假设我们的nginx安装目录是:/etc/nginx/,在目录下创建一个新目录,姑且命名为cert,把两个证书文件扔到...【详细内容】
2022-07-22  马克-1949    Tags:https域名   点击:(14)  评论:(0)  加入收藏
1、用户需求客户的WEB网站后台目前只有一台服务器存在单点的问题,但暂时没有打算要做成冗余的方式。在与应用开发团沟通的过程中,应用开发提到如果网站宕机,不想让用户看到该页...【详细内容】
2022-07-20  超级作家小新    Tags:提示页面   点击:(12)  评论:(0)  加入收藏
 在外贸建站时,很多企业网站不知道该如何如何评判,也不知道该如何做一个好的外贸网站。下面云程网络就来为大家具体介绍一下,外贸网站搭建时不可忽略的四点问题。 一、对谷歌...【详细内容】
2022-07-20  云程网络    Tags:海外建站   点击:(10)  评论:(0)  加入收藏
场景:在许多跨国业务中,我们可能会遇到这样一种需求, 不同国家需要使用不同的域名进行访问,而如果不是访问的对应国别域名。会强制跳转到指定后缀的域名下,例如,美国用户访问主域...【详细内容】
2022-07-19  blueic1115    Tags:geoIP模块   点击:(13)  评论:(0)  加入收藏
添加新页面可以为您的网站带来新的流量和访问者,并且当它们在搜索结果中排名良好时,它们最有效地实现了这一目标。但是,为了让您的内容出现在搜索结果中,需要对其进行索引。这意...【详细内容】
2022-07-19  听石头讲谷歌    Tags:外贸独立站   点击:(14)  评论:(0)  加入收藏
nginx反向代理web网站时,容易出现css和图片丢失的情况,要解决这个问题需要添加location ~ .*如:server { listen 80; server_name abc.ccc.com;...【详细内容】
2022-07-19  留住此刻    Tags:反向代理   点击:(20)  评论:(0)  加入收藏
站内最新
站内热门
站内头条