0.3.0 • Published 1 month ago

puppeteer-keyboard v0.3.0

Weekly downloads
18
License
MIT
Repository
-
Last release
1 month ago

Puppeteer

Overview

puppeteer-keyboard is library that simplifies usage of keyboard and keyboard schroucuts in puppeteer.

It converts string representation like "textEnter" into keyboard keys sequence. Very helpful in page automation.

Getting started

Installation

npm i puppeteer-keyboard
# OR yarn add puppeteer-keyboard

Usage

Example code with explanation in comments.

const { Keyboard } = require("puppeteer-keyboard");

const input = await page.$("my.input");
const kb = new Keyboard(page);

//Write text and delete it
await kb.type("Some text", input);
await kb.type("[Ctrl+A]", input);
await kb.type("[Delete]", input);

// Of course it can be in one line:
await kb.type("Some text[Ctrl+A][Delete]", input);

// If field is already focused, the second parameter can be ommited:
await input.focus();
await kb.type("Some text[Ctrl+A][Delete]");

// or
await input.focus();
await kb.type("Some text");
await kb.type("[Ctrl+A]");
await kb.type("[Delete]");

// Keyboard schroucuts can be larger (there is no limit of keys):
await kb.type("Some text[Ctrl+Shift+ArrowRight]");

Working example:

Example enter's to google.com page, search for puppeteer and uses second result from search sugestions.

const { Keyboard } = require("puppeteer-keyboard");
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://duckduckgo.com');

  const input = await page.$("input[name=q]");
  const kb = new Keyboard(page, { delay: 250 });

  await kb.type("puppeteer[ArrowDown][ArrowDown][Enter]", input);

  await new Promise(r => setTimeout(r, 5000));

  await browser.close();
})();

Available keys

Library accepts all keys available on the keyboard. Full list of keycodes are on official puppeteer page: https://github.com/GoogleChrome/puppeteer/blob/master/lib/USKeyboardLayout.js

Contribution

github repo: https://github.com/piotrkluz/puppeteer-keyboard NPM: https://www.npmjs.com/package/puppeteer-keyboard

0.3.0

1 month ago

0.2.0

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago