木偶师
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');// 等待并单击第一个结果.await page.locator('.devsite-result- item-link').click();// 使用唯一的字符串定位完整标题.const textSelector = wait page .locator('text/Customize andautomate') .waitHandle();const fullTitle = wait textSelector?.evaluate (el => el.textContent);// 打印完整的 title.console.log('这篇博文的标题是 "%s".', fullTitle);await browser.close();