gecko-dev/remote/test/puppeteer
2024-05-08 16:50:30 +00:00
..
.vscode Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00
examples Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00
packages Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00
test Bug 1875065 - [bidi] Implement "permissions.setPermission" command. r=webdriver-reviewers,jdescottes,whimboo 2024-05-08 16:50:30 +00:00
test-d
tools Bug 1891762 - [puppeteer] Remove -S parameter in Shebang from mocha-runner script because it's not supported in CI. r=webdriver-reviewers,Sasha 2024-04-18 09:03:11 +00:00
.editorconfig
.eslintignore
.eslintrc.js
.eslintrc.types.cjs
.mocharc.cjs
.npmrc
.nvmrc
.prettierignore
.prettierrc.cjs
.release-please-manifest.json Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00
Herebyfile.mjs Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00
json-mocha-reporter.js
LICENSE
moz.yaml Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00
package-lock.json Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00
package.json Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00
README.md Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00
release-please-config.json
SECURITY.md
tsconfig.base.json
tsdoc.json
versions.js Bug 1891762 - [puppeteer] Sync vendored puppeteer to v22.6.5 r=webdriver-reviewers,Sasha 2024-04-18 09:03:10 +00:00

Puppeteer

build npm puppeteer package

Puppeteer is a Node.js library which provides a high-level API to control Chrome/Chromium over the DevTools Protocol. Puppeteer runs in headless mode by default, but can be configured to run in full ("headful") Chrome/Chromium.

Get started | API | FAQ | Contributing | Troubleshooting

Example

import puppeteer from 'puppeteer';

(async () => {
  // Launch the browser and open a new blank page
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  // Navigate the page to a URL
  await page.goto('https://developer.chrome.com/');

  // Set screen size
  await page.setViewport({width: 1080, height: 1024});

  // Type into search box
  await page.type('.devsite-search-field', 'automate beyond recorder');

  // Wait and click on first result
  const searchResultSelector = '.devsite-result-item-link';
  await page.waitForSelector(searchResultSelector);
  await page.click(searchResultSelector);

  // Locate the full title with a unique string
  const textSelector = await page.waitForSelector(
    'text/Customize and automate'
  );
  const fullTitle = await textSelector?.evaluate(el => el.textContent);

  // Print the full title
  console.log('The title of this blog post is "%s".', fullTitle);

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