许多Chrome服务被禁用,它们对自动化场景毫无用处。在可用端口上,打开浏览器的远程调试端口。自动定位用于启动的Chrome二进制文件的位置。在每次启动时使用新的Chrome配置文件并在kill()中清除它。绑定Ctrl-C(默认)会终止Chrome进程。有关可配置性的详细信息,提供了一些设置选项。安装yarnaddchrome-launcher#或withnpm:npminstallchrome-launcherAPI.launch([opts])启动选项{//(可选)要使用的远程调试端口号。如果提供的端口已经繁忙,launch()将拒绝//默认值:自动选择可用端口port:number;//(可选)传递给Chrome的附加标志,例如:['--headless','--disable-gpu']//在此处查看所有标志:http://peter.sh/experiments/chromium-command-line-switches///请注意,默认设置了许多标志:https://github.com/GoogleChrome/lighthouse/blob/master/chrome-launcher/flags.tschromeFlags:Array;//(可选)按`Ctrl-C`关闭Chrome进程//默认值:truehandleSIGINT:boolean;//(可选)预期Chrome二进制文件的显式路径//如果设置了`CHROME_PATH`环境变量,将使用该环境变量//不推荐使用`LIGHTHOUSE_CHROMIUM_PATH`环境变量//默认情况下,任何检测到的ChromeCanary或Chrome(稳定)将推出chromePath:字符串;//(可选)要使用的Chrome配置文件路径//默认情况下,将创建一个新的Chrome配置文件userDataDir:string;//(可选)用于打开浏览器的起始URL//默认值:`about:blank`startingUrl:string;//(可选)日志记录级别:verbose、info、error、silent//默认值:'info'logLevel:string;//(可选)启用扩展加载//默认值:falseenableExtensions:boolean};启动chrome后的接口.launch().then(chrome=>...//启动的chromechrome.port暴露的远程调试端口:number;//方法killChrome(并清理配置文件文件夹)chrome.kill:()=>Promise<{}>;//进程idchrome.pid:number;Examples启动chromeconstchromeLauncher=require('chrome-launcher');chromeLauncher.launch({startingUrl:'https://google.com'}).then(chrome=>{console.log(`Chrome调试端口在${chrome.port}`上运行);});持续集结在一个想Travis这样的CI环境,可能没有安装Chrome如果你想使用chrome-launcher,你可以使用Lighthouse的download-chrome.sh安装Chrome。curl-Lhttps://raw.githubusercontent.com/GoogleChrome/lighthouse/v2.1.0/lighthouse-core/scripts/download-chrome.sh|bash然后在.travis.yml中,这样使用它:init.d/xvfb启动-curl-Lhttps://raw.githubusercontent.com/GoogleChrome/lighthouse/v2.1.0/lighthouse-core/scripts/download-chrome.sh|狂欢