技术总结

electron

puppeteer

  • Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome
  • Puppeteer API 是分层次的,反映了浏览器结构

在这里插入图片描述

puppteer vs puppeteer-core
puppeteerpuppeteer-core
浏览器 自动化的产品一个 来帮助驱动任何支持 DevTools 协议的东西
安装后,自动下载一个版本的 chromium,然后使用puppeteer-core 驱动工作安装时 不会下载 Chromium
支持一堆便利的 PUPPETEER_* env 变量来调整行为作为一个库,puppeteer-core 完全是通过其编程接口驱动的并 忽略所有 PUPPETEER_* env 变量
使用 puppeteer 做自动化测试一个典型的实例
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://www.google.com');
  // other actions...
  await browser.close();
})();
puppeteer 的安装和使用
yarn add puppeteer

yarn下载一般不会出错。使用npm做下载如果报错,可以使用下面方法解决:

npm install puppeteer --registry https://registry.npm.taobao.org --ignore-scripts --save
  • --registry https://registry.npm.taobao.org:使用淘宝源
  • -ignore-scripts:忽略install.js执行。因为安装过程中会执行install.jsinstall.js会下载Chromium
  • 需要手动去找国内的Chromium镜像,下载 并且设置executablePath

一个简单的例子:

const puppeteer = require('puppeteer')

const run = async () => {
  const browser = await puppeteer.launch({
    headless: false,
  })

  const page = await browser.newPage()
  await page.goto('https://www.baidu.com')
  
  await browser.close()
}

run()
puppeteer-core 的安装和使用
yarn add puppeteer-core
yarn add carlo

Carlo provides Node applications with Google Chrome rendering capabilities, communicates with the locally-installed browser instance using the Puppeteer project, and implements a remote call infrastructure for communication between Node and the browser

Carlo为节点应用程序提供 google chrome 渲染功能,使用puppeter项目与本地安装的浏览器实例进行通信,并实现节点和浏览器之间通信的远程调用基础设施

const puppeteer = require('puppeteer-core')
const findChrome = require('../node_modules/carlo/lib/find_chrome')

const run = async () => {
  // 查找本地浏览器所在路径
  const findChromePath = await findChrome({})

  const browser = await puppeteer.launch({
    headless: false,
    executablePath: findChromePath.executablePath,  // 路径设置
  })
  
  const page = await browser.newPage()
  await page.goto('https://www.baidu.com')
  
  await browser.close()
}

run()

yarn 的安装和使用

npm install -g yarn
yarn --version
npmyarn注释
npm inityarn init初始化项目
npm installyarn安装全部依赖
npm install react --saveyarn add react安装某个依赖,保存到 dependencies
npm uninstall react --saveyarn remove react移除某个依赖
npm install react --save-devyarn add react --dev安装某依赖,保存到 devDependencies
npm update [package] --saveyarn upgrade [package]更新生产环境某个依赖包
npm install axios --globalyarn global add axios全局安装某个依赖
npm install --save axios vue-axiosyarn add axios vue-axios同时下载多个依赖包
npm install [package]@[version]yarn add [package]@[version]安装指定版本的包
npm rebuildyarn install --force重新下载所有包
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值