Chrome headless 模式

Stella981
• 阅读 803

把自动化测试的运行放在后台:

PhantomJS 非常不错,因为是使用的 QtWebKit 浏览器内核渲染页面,基本可以和真正浏览器保持一致。

Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。PhantomJS作者表示,你这么搞我失业了啊!

话不多叙,直接上代码:

    /**
     * 禁止chrome弹出忽略网站证书错误提示
     * https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver
     * webdriver.chrome.driver
     *
     * @return
     */
    public static ChromeOptions chromeOptions() {
        System.setProperty("webdriver.chrome.driver", "chromedriver");//指定驱动路径
        ChromeOptions options = new ChromeOptions();
        DesiredCapabilities capabilities = DesiredCapabilities.chrome();

        // SSL Certificate
        capabilities.setCapability(CapabilityType.TAKES_SCREENSHOT, true);
        capabilities.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT, true);

        capabilities.setCapability("chrome.switches", Arrays.asList("--start-maximized"));
        // options.addArguments("--headless");
        options.addArguments("--test-type", "--start-maximized");
        options.addArguments("--test-type", "--ignore-certificate-errors");
        options.addArguments("headless");
        return options;
    }

本文分享 CSDN - 东海陈光剑。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
TamperMonkey 使用指南以及脚本推荐
写在前面Chrome浏览器是最适合开发者使用的浏览器,不仅仅是因为Chrome对于Js的友好支持,更是由于Chrome支持丰富且功能强大的插件,扩展了浏览器的功能和使用体验。在这些插件里面,相信你一定使用过TamperMonkey(https://www.oschina.net/action/GoToLink?urlht
Wesley13 Wesley13
3年前
03. react 初次见面
    与浏览器的DOM元素不同,React当中的元素事实上是普通的对象,ReactDOM可以确保浏览器DOM的数据内容与React元素保持一致。1、将元素渲染到DOM中    首先我们在一个HTML页面中添加一个id"root" 的<div:<divid"root"
Stella981 Stella981
3年前
CentOS 7 环境下 chromedriver 安装
chrome和chromedriver如果没有安装过chrome浏览器,那么下边安装chrome命令安装浏览器。在命令行输入googlechromeversion查看chrome浏览器的版本,在下网站中进行比对。获取当前chrome适配的chromedriver版本。解压到/data/a
Stella981 Stella981
3年前
Serverless 实战 —— 快速开发一个分布式 Puppeteer 网页截图服务
通俗描述就是:Puppeteer可以将Chrome或者Chromium以无界面的方式运行(当然也可以运行在有界面的服务器上),然后可以通过代码控制浏览器的行为,即使是非界面的模式运行,Chrome或Chromium也可以在内存中正确渲染网页的内容。那么Puppeteer能做什么呢?其实有很多地方都可以受用Puppeteer,比如:
Stella981 Stella981
3年前
Chrome handless模式
我们在通过Selenium运行自动化测试时,必须要启动浏览器,浏览器的启动与关闭必然会影响执行效率,而且还会干扰你做其它事情(本机运行的话)。那能不能把自动化测试的运行放在后台?当然可以!Chromeheadless模式,Google针对Chrome浏览器59版新增加的一种模式,可以让你不打开UI界面的情况下使用Chrome浏览器
Stella981 Stella981
3年前
Mac快捷键以及谷歌浏览器快捷键
分为通用快捷键和谷歌浏览器下快捷键,常用的已做加粗。1\.标签页和窗口快捷键⌘N打开新窗口。⌘T打开新标签页。⌘ShiftN在隐身模式下打开新窗口。按 ⌘O,然后选择文件。在Chrome浏览器中打开计算机中的文件。按住 ⌘ 的同时点击链接。或用鼠标中键(或鼠标滚轮)点击链接。从后台在新标签页
可莉 可莉
3年前
16条很有用的Chrome浏览器命令
    GoogleChrome浏览器有很多的特性在界面菜单中是没有体现的,你可以通过「chrome://命令」来访问。在Chrome的浏览器地址栏中输入命令,就会返回相应的结果。下面是16个非常有用的chrome://命令:  !16条很有用的Chrome浏览器命令张德德——挨踢民工Playkid——(http://static.o
Stella981 Stella981
3年前
Postman的安装
在网上下载一个Postman插件,1.首先用户点击谷歌浏览器右上角的自定义及控制按钮,在下拉框中选择工具选项,然后点击扩展程序来启动Chrome浏览器的扩展管理器页面。!打开Chrome扩展管理器(http://chromecj.com/Content/kindeditor/attached/image/20140926/201409262348