humanisejs
A Node.js package that adds a realistic human typing simulation to pages using Puppeteer and Ghost Cursor. This package is useful for enhancing web automation scripts by making interactions with pages more human-like.
Installation
Install the package using npm:
npm install humanisejs
Usage
1. Initialize Puppeteer Browser
const { Browser } = require("puppeteer");
const { createCursor } = require('ghost-cursor');
const { humanise } = require('humanisejs');
const browser = await puppeteer.launch();
2. Add Human Typing to the Browser
Use the humanise function to add human typing functionality to the browser:
await humanise(browser);
humanType
Method
3. Utilize the humanType
method on any page in the browser to simulate human-like typing behavior:
Now, you can use the const page = await browser.newPage();
await page.goto('https://example.com');
await page.humanType('#inputField', 'Hello, world!');
Features
- Simulates realistic human typing behavior.
- Adds a convenient humanType method to Puppeteer pages.
- Enhances web automation scripts for more human-like interactions.
How It Works
The humanise
function listens for new pages created in the browser. When a new page is detected, it adds the humanType
method to the page, allowing you to easily simulate human typing.
The humanType
method utilizes ghost-cursor to move the cursor to the specified input field, click it, and then type the provided text with occasional simulated mistakes, creating a more human-like typing pattern.
Contributing
If you encounter any issues or have suggestions, please open an issue on GitHub. Pull requests are also welcome.
Roadmap
-
[ ] Add support for customizing typing speed and mistake frequency.
-
[ ] Implement additional features for more realistic interactions. Feel free to contribute to the project by tackling these tasks or suggesting new ideas!