[Selenium]你真的知道怎么提高Selenium的运行速度吗?

这篇具有很好参考价值的文章主要介绍了[Selenium]你真的知道怎么提高Selenium的运行速度吗?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

对于网上流传的提高selenium的方法有很多,但从程序运行的感官上来看,感觉提速并不明显。所以,我特地做了一些测试,寻找最优方案。
但是,由于对不同组的测试次数并不相同,结果可能不太严谨。但是,一般来说,结果基本都在一定范围内浮动,所以结果和多次测试大差不差。

0. 测速结果

selenium怎么提升运行速度,selenium,python,前端,爬虫


1. Request发起请求

import time
import requests
t1 = time.time()
resp = requests.get('http://androil.sinaapp.com/modelyh/21177.html')
t2 = time.time()
print(f"一共耗时{t2-t1}")

测试结果:

一共耗时0.8379917144775391
一共耗时0.8982553482055664
一共耗时0.8139898777008057

2. Selenium发起请求(没有添加任何配置)

import time
from selenium.webdriver import Edge
web = Edge()创建浏览器
t1 = time.time()
web.get("http://www.baidu.com")
t2 = time.time()
print(f"一共耗时{t2-t1}")
web.quit()

测试结果

一共耗时2.5213799476623535
一共耗时2.655221462249756
一共耗时3.2438957691192627
一共耗时2.867304801940918

3. Selenium发起请求(禁用js、css、图片加载,启用无头浏览器,禁用gpu,禁用插件)

import time
from selenium.webdriver import Edge
from selenium.webdriver.edge.options import Options
edge_option = Options()
prefs = {
    'profile.default_content_setting_values': {
        'images': 2,   无图模式
        'javascript': 2,   禁止脚本加载
        'permissions.default.stylesheet': 2,   禁用css
    }
}
edge_option.add_experimental_option('prefs', prefs)   添加配置
edge_option.add_argument('--headless')   无头浏览器
edge_option.add_argument('--disable-plugins')   禁用插件
edge_option.add_argument("--disable--gpu")禁用显卡
web = Edge(options=edge_option)创建浏览器
t1 = time.time()
web.get("http://www.baidu.com")
t2 = time.time()
print(f"一共耗时{t2-t1}")
web.quit()

测试结果:

  一共耗时2.646573781967163
  一共耗时3.0973236560821533
  一共耗时1.9942853450775146
  一共耗时4.202911376953125

**猜想:**效果不明显,可能是浏览器打开的速度太慢了,直接使用已经打开的浏览器


4. Selenium发起请求(在已打开的浏览器上发起请求)

import time
from selenium.webdriver import Edge
from selenium.webdriver.edge.options import Options
edge_option = Options()
edge_option.add_experimental_option("debuggerAddress","127.0.0.1:9222")
web = Edge(options=edge_option)创建浏览器
t1 = time.time()
web.get("http://www.baidu.com")
t2 = time.time()
print(f"一共耗时{t2-t1}")
web.quit()

测试结果:

一共耗时0.9570584297180176
一共耗时0.8212602138519287
一共耗时0.6052114963531494
一共耗时0.6656308174133301
一共耗时0.8359296321868896

这里的加载速度明显快了很多


5. Selenium发起请求(在已打开的浏览器上发起请求,添加以上配置)

import time
from selenium.webdriver import Edge
from selenium.webdriver.edge.options import Options
edge_option = Options()
edge_option.add_argument('--blink-settings=imagesEnabled=false')
edge_option.add_argument('--headless')   无头浏览器
edge_option.add_argument('–-disable-javascript')   禁用javascript
edge_option.add_argument('--disable-plugins')   禁用插件
edge_option.add_argument("--disable--gpu")禁用显卡
edge_option.add_argument("--disable-images")禁用图像
edge_option.add_experimental_option("debuggerAddress","127.0.0.1:9222")
web = Edge(options=edge_option)创建浏览器
t1 = time.time()
web.get("http://androil.sinaapp.com/modelyh/21177.html")
t2 = time.time()
print(f"一共耗时{t2-t1}")
web.quit()

测试结果:

一共耗时0.602916955947876
一共耗时0.6741578578948975
一共耗时0.7092258930206299
一共耗时0.6321258544921875
一共耗时0.682152509689331

加载速度快了一点,但是但是但是,在运行启动浏览器的时候,可以明显感觉到耗费的时间不只是零点几秒。
**问题:**在计算时间的时候,我并没有把创建对象的时间加进去


6. Selenium启动(无配置)[浏览器对象创建耗时测试]

import time
from selenium.webdriver import Edge
t1 = time.time()
web = Edge()创建浏览器
web.get("http://www.baidu.com")
t2 = time.time()
print(f"一共耗时{t2-t1}")
web.quit()

测试结果:

一共耗时4.975956678390503
一共耗时5.392338275909424
一共耗时5.371351480484009
一共耗时5.267101287841797
一共耗时4.5134382247924805
一共耗时5.200875520706177
一共耗时4.3331522941589355
一共耗时4.416335582733154

总的来说,对于创建浏览器对象所耗费的时间,我们是无法缩短的。所以,在一个进程中,我们尽量只创建一个浏览器对象


6.1 Selenium启动(无配置)[浏览器对象创建耗时测试][二次请求]

import time
from selenium.webdriver import Edge
from selenium.webdriver.edge.options import Options
edge_option = Options()
edge_option.add_experimental_option("debuggerAddress","127.0.0.1:9222")
web = Edge(options=edge_option)创建浏览器
web.get("https://www.sougou.com/")
t1 = time.time()
web.get('https://www.baidu.com/')
t2 = time.time()
print(f"二次请求一共耗时{t2-t1}")
web.quit()

测试结果:

二次请求一共耗时0.6411991119384766
二次请求一共耗时0.5332534313201904
二次请求一共耗时0.5351331233978271
二次请求一共耗时0.6386752128601074

7. Selenium启动已经打开的浏览器(无配置)[浏览器对象创建耗时测试]

import time
from selenium.webdriver import Edge
from selenium.webdriver.edge.options import Options
edge_option = Options()
edge_option.add_experimental_option("debuggerAddress","127.0.0.1:9222")
t1 = time.time()
web = Edge(options=edge_option)创建浏览器
web.get("http://androil.sinaapp.com/modelyh/21177.html")
t2 = time.time()
print(f"一共耗时{t2-t1}")
web.quit()

测试结果:

  一共耗时3.3087267875671387
  一共耗时3.16994047164917
  一共耗时3.21472430229187
  一共耗时3.1717209815979004
  一共耗时3.227937698364258

速度有所提升,但还不够快

这里需要知道的是,由于浏览器已经打开,我们是无法给已启动的浏览器添加配置的,所有需要我们去手动配置。

不信看下面


8. Selenium启动(有配置,但是在代码中)[浏览器对象创建耗时测试]

import time
from selenium.webdriver import Edge
from selenium.webdriver.edge.options import Options
edge_option = Options()
 edge_option.add_argument('--blink-settings=imagesEnabled=false')
 edge_option.add_argument('--headless')   无头浏览器
 edge_option.add_argument('–-disable-javascript')   禁用javascript
 edge_option.add_argument('--disable-plugins')   禁用插件
 edge_option.add_argument("--disable--gpu")禁用显卡
 edge_option.add_argument("--disable-images")禁用图像
edge_option.add_experimental_option("debuggerAddress","127.0.0.1:9222")
t1 = time.time()
web = Edge(options=edge_option)创建浏览器
web.get("https://www.baidu.com/")
t2 = time.time()
print(f"一共耗时{t2-t1}")
web.quit()

测试结果:

  一共耗时3.41314959526062
  一共耗时3.263237714767456
  一共耗时3.3738415241241455
  一共耗时3.182044267654419
  一共耗时3.2655630111694336

9. Selenium启动已打开的浏览器(在浏览器中配置)

测试结果:文章来源地址https://www.toymoban.com/news/detail-739177.html

  一共耗时3.175990343093872
  一共耗时3.1182053089141846
  一共耗时3.0257885456085205
  一共耗时3.1209449768066406

结论

  • 使用已经打开的浏览器
  • 对浏览器进行配置
  • 只创建一个浏览器对象

到了这里,关于[Selenium]你真的知道怎么提高Selenium的运行速度吗?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python selenium 运行driver时一直弹出控制台CMD窗口怎么办

    1.python selenium 运行driver时一直弹出控制台CMD窗口,且不断报以下错误应该怎么处理? DevTools listening on ws://127.0.0.1:51303/devtools/browser/6d5f8d32-1e30-4749-ad54-17f08ee3a983 真的非常影响心情啊!!!  2.一直在网上搜索,按照大家所说的用以下代码还是不行: options = webdriver.ChromeOptions(

    2024年02月11日
    浏览(35)
  • 苹果Mac系统如何优化流畅的运行?提高运行速度

    Mac系统的稳定性和流畅性一直备受大家称赞,这也是大多数人选择Mac的原因,尽管如此,我们仍不时地对Mac进行优化、调整,以使其比以前更快、更流畅地运行。以下是小编分享给各位的Mac优化方法,记得保存哦~ 一、释放被过度占用的 RAM 当过多的程序占用 Mac 电脑的 RAM 内

    2024年02月10日
    浏览(33)
  • ai特效绘画怎么弄的?你真的知道吗?

    随着人工智能技术的迅猛发展,越来越多的软件和工具应用ai技术来创造出令人惊叹的艺术效果。那你知道ai特效绘画怎么弄吗? 本文将介绍下面三款软件的ai特效绘画功能,并提供不同软件的操作步骤,让你一窥ai在艺术领域的奇妙魅力。 方法一、使用AI智绘进行ai特效绘画

    2024年02月12日
    浏览(33)
  • 3个方法提高电脑运行速度,亲测有效!

    【随着使用时间的增长,我的电脑运行速度越来越慢,这样我感到十分不方便和烦恼。有什么办法可以提高电脑的运行速度吗?】 在日常使用电脑过程中,我们难免会遇到电脑运行缓慢的情况,这不仅影响我们的工作效率,还会降低我们的使用体验。为此,我们需要采取措施

    2024年02月14日
    浏览(26)
  • (亲测可行)关于提高IDEA运行速度的方案

    如果idea版本和本文不符,请不要轻易尝试,造成代码丢失,自行负责。 版本: Ultimate 2022.1.2版IDEA,计算机内存为12GB 打开idea,找到左上角的”help“标签,对话框中选择Edit Custom FVM Options… 调节(最小和最大)堆内存(看本机内存来顶,不超过20%):-Xms和-Xmx 调节代码缓存

    2024年01月17日
    浏览(28)
  • 在python中通过调用dll来提高运行速度

    最近项目中需要录制键鼠命令,然后再通过注入的方式回放录制过程。一般来说,普通的一些点击命令完全可以通过python的一些包来完成键鼠模拟操作,比如通过pyautogui包。但是,鼠标移动过程中,如果采用频率很高的话,比如1s之类采样50个点像素坐标,那么就会发现,如果

    2024年02月12日
    浏览(27)
  • MySQL第九讲·索引怎么提高查询的速度?

    你好,我是安然无虞。 在超市信息系统刚刚开始运营的时候,因为数据量很少,每一次的查询都能很快拿到结果。但是,系统运转时间长了以后,数据量不断地累积,变得越来越庞大,很多查询的速度就变得特别慢。这个时候,我们就采用了 MySQL 提供的高效访问数据的方法

    2024年02月04日
    浏览(33)
  • 怎么加速网速?如何加速网络下载速度真正提高网速

    怎么加速网速?我们经常在下载东西的时候,会觉得网速很不给力。其实这不仅关系到你的带宽,还关系到你的电脑。下面我介绍一个比较适合新手的方法,使我们计算机发挥到最佳下载模式。达到宽带最大利用率。 软媒魔方电脑大师 V6.25 绿色免费版 类型: 系统增强 大小:

    2024年02月07日
    浏览(30)
  • 你真的知道怎么使用vs吗?把把手教你实用调试小技巧

    谈到bug,我们知道bug的中文意思是虫子,飞蛾的意思。至于为什么bug一词会用到计算机领域的话得追溯到第一台计算机的诞生。 上面个你看到的就是世界上第一个bug的诞生。它的来源也是非常的有意思,当时世界上的第一台计算机出了故障不能正常的工作,于是工作人员就进

    2024年02月05日
    浏览(29)
  • 【Selenium】提高测试&爬虫效率:Selenium与多线程的完美结合

    使用 Selenium 创建多个浏览器,这在自动化操作中非常常见。 而在Python中,使用 Selenium + threading 或 Selenium + ThreadPoolExecutor 都是很好的实现方法。 应用场景: 创建多个浏览器用于测试或者数据采集; 使用 Selenium 控制本地安装的 chrome浏览器 去做一些操作 … 文章提供了 Selen

    2024年02月10日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包