puppeteer
puppeteer-core:
Puppeteer 是一个 JavaScript 库,它提供高级 API 来通过 DevTools 协议或 WebDriver BiDi 控制 Chrome 或 Firefox。 Puppeteer 默认以无头方式运行(没有可见的 UI)
npm i puppeteer # 在安装过程中下载兼容的 Chrome。 npm i puppeteer-core # 或者,作为库安装,而不下载 Chrome。
import puppeteer from 'puppeteer';// 或者 import puppeteer from 'puppeteer-core';// 启动浏览器并打开一个新的空白页面 const browser = wait puppeteer.launch();const page = wait browser.newPage();/ / 导航页面到某个 URL.await page.goto('https://developer.chrome.com/');// 设置屏幕尺寸.await page.setViewport({width: 1080, height: 1024});// 在搜索框中输入内容.await page.locator('.devsite-search-field').fill('automate Beyond recorder');// 等待并click on first result.await page.locator('.devsite-result-item-link').click();// 使用唯一的字符串定位完整标题.const textSelector = wait page .locator('text/自定义并自动化') .waitHandle();const fullTitle = wait textSelector?.evaluate(el => el.textContent);// 打印完整标题.console.log('本博客的标题帖子是“%s”。', fullTitle);await browser.close();