Skip to main content
Version: 22.9.0

Puppeteer

Puppeteer 是一个 Node.js 库,它提供了一个高级 API 来通过 开发工具协议 控制 Chrome/Chromium。Puppeteer 默认以 无头 模式运行,但可以配置为在完整 ("有头") Chrome/Chromium 中运行。

¥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.

开始使用 | API | 常见问题 | 贡献 | 故障排除

¥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();
})();