Macaca Electron driver
npm install macaca-electron[![NPM version][npm-image]][npm-url]
[![Package quality][quality-image]][quality-url]
[![build status][CI-image]][CI-url]
[![Test coverage][coveralls-image]][coveralls-url]
[![node version][node-image]][node-url]
[npm-image]: https://img.shields.io/npm/v/macaca-electron.svg
[npm-url]: https://npmjs.org/package/macaca-electron
[quality-image]: https://packagequality.com/shield/macaca-electron.svg
[quality-url]: https://packagequality.com/#?package=macaca-electron
[CI-image]: https://github.com/macacajs/macaca-electron/actions/workflows/ci.yml/badge.svg
[CI-url]: https://github.com/macacajs/macaca-electron/actions/workflows/ci.yml
[coveralls-image]: https://img.shields.io/coveralls/macacajs/macaca-electron.svg
[coveralls-url]: https://coveralls.io/r/macacajs/macaca-electron?branch=master
[node-image]: https://img.shields.io/badge/node.js-%3E=_7-green.svg
[node-url]: http://nodejs.org/download/
> Macaca Electron driver
|
xudafeng
|
paradite
|
meowtec
|
ziczhu
|
xianxiaow
|
cyjake
|
| :---: | :---: | :---: | :---: | :---: | :---: |
coffeedeveloper
|
jacksonlai
|
sriting
|
snapre
|
yihuineng
This project follows the git-contributor spec, auto updated at Sat May 07 2022 23:36:31 GMT+0800.
``bash`
$ npm i macaca-electron -g
Simply put, Chromium doesn't stop shipping so Electron is not going to slow down either, so Macaca is not stop...
Starting with Electron version 7, Macaca will always upgrade with the Electron's main version.
- 12-week-cadence
- releases/stable
set MACACA_ELECTRON_DEVTOOLS=1 to open the devtools.
Macaca disables window.alert, window.prompt, window.confirm from popping up by default, and you can override by execute.
`javascript
const fs = require('fs');
const path = require('path');
const Electron = require('macaca-electron');
const electron = new Electron();
/**
default options
{
show: true,
alwaysOnTop: false,
x: 0,
y: 0,
width: 800,
height: 600,
userAgent: 'userAgent string',
webPreferences: {
nodeIntegration: false
}
}
*/
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
(async () => {
await electron.startDevice({
show: false // in silence
});
await electron.maximize();
await electron.setWindowSize(null, 500, 500);
await electron.get('https://www.baidu.com');
await sleep(3000);
const imgData = await electron.getScreenshot();
const img = Buffer.from(imgData, 'base64');
const p = path.join('screenshot.png');
fs.writeFileSync(p, img.toString('binary'), 'binary');
console.log(screenshot: ${p});
await electron.stopDevice();
})();
``
- sample macaca-electron-screenshot
- More API
The MIT License (MIT)