Playwright 是一个用于自动化浏览器操作的库,支持 Chromium、Firefox 和 WebKit。它适用于端到端测试、网页抓取等场景。以下是使用 Playwright 的基本步骤:
1. 安装 Playwright
首先,确保已安装 Node.js,然后在终端中运行以下命令安装 Playwright:
bash
复制
npm install playwright
安装完成后,下载所需的浏览器:
bash
复制
npx playwright install
2. 基本使用
以下是一个简单的 Playwright 脚本,用于打开浏览器并访问网页:
javascript
复制
const { chromium } = require('playwright'); (async () => { // 启动浏览器 const browser = await chromium.launch({ headless: false }); // headless: false 表示显示浏览器窗口 const context = await browser.newContext(); const page = await context.newPage(); // 访问网页 await page.goto('https://example.com'); // 截图 await page.screenshot({ path: 'example.png' }); // 关闭浏览器 await browser.close(); })();
3. 常用操作
-
导航:使用
page.goto(url)
访问网页。 -
点击元素:使用
page.click(selector)
点击页面元素。 -
输入文本:使用
page.fill(selector, text)
在输入框中输入文本。 -
等待元素:使用
page.waitForSelector(selector)
等待元素出现。 -
截图:使用
page.screenshot(options)
截取页面。
4. 示例:登录并截图
以下脚本演示如何登录并截图:
javascript
复制
const { chromium } = require('playwright'); (async () => { const browser = await chromium.launch({ headless: false }); const context = await browser.newContext(); const page = await context.newPage(); await page.goto('https://example.com/login'); // 输入用户名和密码 await page.fill('#username', 'your-username'); await page.fill('#password', 'your-password'); // 点击登录按钮 await page.click('#login-button'); // 等待导航完成 await page.waitForNavigation(); // 截图 await page.screenshot({ path: 'logged_in.png' }); await browser.close(); })();
5. 高级功能
-
多浏览器支持:Playwright 支持 Chromium、Firefox 和 WebKit。
-
模拟设备:使用
context.emulateDevice(device)
模拟移动设备。 -
网络拦截:使用
page.route(url, handler)
拦截和修改网络请求。 -
并行测试:Playwright 支持并行执行测试。
6. 文档与资源
通过这些步骤,你可以开始使用 Playwright 进行浏览器自动化操作。