ChromeHeadless模式(⼀)
前⾔:
最近在做webUI的⾃动化,当本地执⾏脚本时,会启动浏览器的UI界⾯,导致其他⼯作⽆法进⾏。并且当电脑锁屏时,chromer driver 会退出,⽆法继续执⾏。查⽹上的资料,headerless Browser模式可以在后台运⾏浏览器。
chrome浏览器电脑版下载
1、Headerless Browser是什么⿁?
Headerless Browser(⽆头的浏览器)是浏览器的⽆界⾯状态,可以在不打开浏览器GUI的情况下,使⽤浏览器⽀持的性能。
Chrome Headless相⽐于其他的浏览器,可以更便捷的运⾏web⾃动化,编写爬⾍、截图等。通常是由编程或者命令⾏来控制的。
好处:
可以加快UI⾃动化测试的执⾏时间,对于UI⾃动化测试,少了真实浏览器加载css,js以及渲染页⾯的⼯作。⽆头测试要⽐真实浏览器快的多。
可以在⽆界⾯的服务器或CI上运⾏测试,减少了外界的⼲扰,使⾃动化测试更稳定。
2、命令⾏模式运⾏
我本地的环境:
系统:mac
chrome浏览器版本:
命令⾏启动chrome:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --headless --remote-debugging-port=9222 www.baidu
参数说明:
--headless:⽆头模式,就是⽆界⾯模式运⾏
--remote-debugging-port:开启远程调试,端⼝9222和我们之前转发出来的端⼝⼀致
--user-data-dir:设置独⽴的⽂件保存⽬录,建议⼀个⽹站⼀个⽬录
--crash-dumps-dir:设置的crash⽂件保存⽬录
  如果没有指定crash-dumps-dir可能会报错。
  (64)] setxattr ashpad.database.initialized on file /var/folders/gx/1m0t1z_d03dg4pjhv7bwwt_c0000gp/T/: Operation not permitted (1)
加上crash-dumps-dir参数,命令如下:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --headless --crash-dumps-dir=/Users/work/baidu www.baidu/验证是否成功开启headless chrome 的服务:
3、连接远程端⼝
其他的⼀些已知接⼝:
:查看已经打开的Tab列表
: 查看浏览器版本信息
:
新开Tab打开指定地址
4、截图
截图命令:--screenshot命令
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome  --headless --crash-dumps-dir=/Users/work/baidu --screenshot www.baidu/
使⽤--screenshot命令会在当前⼯作⽬录中保存截图为screenshot.png

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。