1.0.0 • Published 4 years ago
puppeteer-realmouse v1.0.0
puppeteer-realmouse
Realistic mouse visualization and movement for Puppeteer.
Prerequisites
In order to use this plugin:
Installation
To install the plugin to your project please use:
npm install --save puppeteer-realmouseManual
Once Puppeteer video recorder is installed, you can require it in your project:
import { Mouse } from 'puppeteer-realmouse';
// Assuming Puppeteer's page object is `page`.
const mouse = new Mouse(page);
await mouse.install();
await page.goto('https://www.google.com');
const acceptButton = await mouse.moveTo('button[id=L2AGLb]', {
waitAfter: 1000
});
await acceptButton.click();
const input = await mouse.moveTo('input[name=q]', {
waitBefore: 1000,
waitAfter: 1000
});The moveTo method's first argument is a selector. The following selectors are supported:
- (dict):
xandycoordinates, e.g.:{ x: 100, y: 200 } - (handle): HTML element handle
- (string): Selector, e.g.:
button[id=L2AGLb] - (string): XPath selector, e.g.:
/html
The moveTo method's second argument an optional dictionary of options. The following options are supported:
- immediate (optional): Set to
trueto move the mouse immediately. Realistic movement is not applied. - waitForSelector (optional): A number in milliseconds to wait for the item matching the
selectorto show up. - waitBefore (optional): A number representing how long to wait in milliseconds before starting to move the mouse.
- waitAfter (optional): A number representing how long to wait in milliseconds after the mouse arrived to the destination.
The moveTo method returns:
- The handle of the HTML element the mouse was moved to in case
selectorwas a string and the element existed. OR, - The coordinates as a dictionary if the
selectorwas a dictionary of coordinates.
FAQ
Does it support Chrome in headless mode?
Yes, it supports Chrome in both headless and headful mode.
Does it use the window object?
No, it doesn't use the window object.
Can I run this plugin with my own page/browser objects?
Yes.
Will it change my browser/page/window objects?
It injects some HTML elements and stylesheet into the page for mouse visualization.
1.0.0
4 years ago