结果:

用时:7.200437545776367s
用时:5.909301519393921s headless
用时:4.924464702606201s headless\phone
用时:4.935844421386719s headless\phone\no image

为了测试图片,http://image.baidu.com/

事实证明,no image对打开网页没影响,对网络有影响吧,这个有点

 from selenium import webdriver
import time def method0():
s1 = time.time()
options = webdriver.ChromeOptions()
options.binary_location = r'd:\downloads\app\chrome\chrome.exe'
browser = webdriver.Chrome(options=options)
browser.get('http://image.baidu.com/')
browser.save_screenshot('baidu.png')
browser.quit()
s2 = time.time()
print('用时:{0}s'.format(s2 - s1)) def method1():
# 优化1 headless
s1 = time.time()
options = webdriver.ChromeOptions()
options.binary_location = r'd:\downloads\app\chrome\chrome.exe'
options.headless = True
browser = webdriver.Chrome(options=options)
browser.get('http://image.baidu.com/')
browser.save_screenshot('baidu_headless.png')
browser.quit()
s2 = time.time()
print('用时:{0}s headless'.format(s2 - s1)) def method2():
# 优化2 headless\phone
s1 = time.time()
options = webdriver.ChromeOptions()
options.add_argument('user-agent={0}'.format('MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'))
options.binary_location = r'd:\downloads\app\chrome\chrome.exe'
options.headless = True
browser = webdriver.Chrome(options=options)
browser.get('http://image.baidu.com/')
browser.save_screenshot('baidu_headless_phone.png')
browser.quit()
s2 = time.time()
print(r'用时:{0}s headless\phone'.format(s2 - s1)) def method3():
# 优化3 headless\phone\no image
s1 = time.time()
options = webdriver.ChromeOptions()
options.add_argument('user-agent={0}'.format('MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'))
options.binary_location = r'd:\downloads\app\chrome\chrome.exe'
options.headless = True
options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
browser = webdriver.Chrome(options=options)
browser.get('http://image.baidu.com/')
browser.save_screenshot('baidu_headless_phone_image.png')
browser.quit()
s2 = time.time()
print(r'用时:{0}s headless\phone\no image'.format(s2 - s1)) if __name__ == '__main__':
method0()
method1()
method2()
method3()

selenium 优化 提升性能的更多相关文章

  1. 如何利用Nginx的缓冲、缓存优化提升性能

    使用缓冲释放后端服务器 反向代理的一个问题是代理大量用户时会增加服务器进程的性能冲击影响.在大多数情况下,可以很大程度上能通过利用Nginx的缓冲和缓存功能减轻. 当代理到另一台服务器,两个不同的连接 ...

  2. mysql配置my.cnf文件,以及参数优化提升性能

    系统centos7 mariadb通过yum安装 mysql配置文件位于/etc/my.cnf 常用参数: 1)max_connections设置最大连接(用户)数,其默认值为100,设置太小会出现t ...

  3. paip.提升性能---mysql 优化cpu多核以及lan性能的关系.

    paip.提升性能---mysql 优化cpu多核以及lan性能的关系. 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:/ ...

  4. oracle网络服务之beq协议和SDU优化(性能提升可达30%)

    oracle网络服务之beq协议和SDU优化(性能提升可达30%) 12.3.1  BEQ协议 如果Oracle数据库服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接采用进程间直接通信,不 ...

  5. Atitit 提升开发进度大方法--高频功能与步骤的优化 类似性能优化

    Atitit 提升开发进度大方法--高频功能与步骤的优化 类似性能优化 1. 通用功能又可以组合成crud模块1 1.1. 查询(包括步骤,发送查询dsl,通讯返回结果,绑定到表格控件)2 1.2. ...

  6. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第四版,稳定支持Qt5编程,zqt5语法升级,MA函数提升性能1000%,更多公式算法的内置优化实现。

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...

  7. web优化 js性能高级篇

    今天我们继续上一个阶段关于web的性能优化,如何对js高级进行优化 (1)闭包 何为闭包; 一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.  我认 ...

  8. SQL Server中使用Check约束提升性能

        在SQL Server中,SQL语句的执行是依赖查询优化器生成的执行计划,而执行计划的好坏直接关乎执行性能.     在查询优化器生成执行计划过程中,需要参考元数据来尽可能生成高效的执行计划, ...

  9. paip.提升性能---mysql 性能 测试以及 参数调整.txt

    paip.提升性能---mysql 性能 测试以及 参数调整.txt 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://b ...

随机推荐

  1. 一起学Android之Handler

    概述 在Android开发中,有主线程(UI线程)和工作线程(Worker线程)之分,两个线程是相互独立的,并不能相互访问(主线程主要负责UI的更新,不能进行耗时的操作,工作线程主要负责耗时的操作,但 ...

  2. C#发送邮件(内容中有图片)

    用微软的System.Net.Mail发送邮件,有些时候发邮件需要邮件内容中添加图片. 对象解释 SmtpClient类:允许应用程序使用简单邮件传输协议 (SMTP) 发送电子邮件.MailAddr ...

  3. Sql sever DateDiff 函数

    函数: DATEDIFF(datepart,startdate,enddate) 具体实例: --相差年数 结果0 SELECT DATEDIFF(yy,'2008-12-29','2008-12-1 ...

  4. PlayJava Day016

    今日所学: /* 2019.08.19开始学习,此为补档. */ 数组 1.一维数组:数据类型[ ] 变量名 = new 数据类型[长度] 获取长度:array.length 在使用下标时确保不超过a ...

  5. 【C++常用函数】头文件<algorithm>中的常用函数(绝对值,交换,比较)

    swap(a,b) 用于交换a,b两个变量的值: max(a,b) 返回a,b中的最大值: min(a,b) 返回a,b中的最小值: abs(x) 返回x的绝对值,x必须是整数:

  6. Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结

    Bootstrap时间日历插件bootstrap-datetimepicker配置与应用小结   by:授客 QQ:1033553122 1.   测试环境 win7 JQuery-3.2.1.min ...

  7. raspberry-gpio-python(树莓派GPIO与Python编程)

    国外的设计接口设计得很棒,包括问题:读脏与防抖,还包括读这个数据提供了两种方式,一种是阻塞等待方式,还有一种是回调函数,前一种是通讯中常用的方式,后一种来自系统架构设计的整体性考虑.这种硬件接口设计的 ...

  8. How To Determine The Cause Of Lots Of Redo Generation Using LogMiner (Doc ID 300395.1)

    How To Determine The Cause Of Lots Of Redo Generation Using LogMiner (Doc ID 300395.1) APPLIES TO: O ...

  9. start_udev 是不是会写磁盘头

    遇到一个案例,在这里记录一下 一套Oracle 11.2.0.4 RAC环境,操作系统是RHEL 6.5,共享磁盘是通过UDEV实现RAW绑定设备名,如下 [root@rac1 opt]# ll /d ...

  10. Python语法速查: 3. 字符串格式化

    返回目录 (1)简易字符串格式化 字符串属于不可变序列,只能生成新的,不能改变旧的.“字符串格式化”有点像以前C语言的sprintf,可以将若干变量代入格式化的字符串,生成一个符合要求的新字符串. 转 ...