前端浏览器自动化(Browser Automation)通常指通过代码控制浏览器执行操作,例如:打开网页、点击按钮、填写表单、登录系统、抓取数据、自动测试等。
前端开发里常见用途:
- 自动化测试(E2E 测试)
- 自动登录、批量操作后台
- 数据采集(爬虫)
- 性能测试
- 截图、生成 PDF
- 模拟用户行为
- 自动化部署检查
常见工具:
1. Playwright 官方网站(推荐,现代前端最常用)
支持:
- Chromium
- Chrome
- Firefox
- Safari(WebKit)
安装:
npm init playwright@latest
示例:打开百度并搜索
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({
headless: false // 显示浏览器
});
const page = await browser.newPage();
await page.goto('https://www.baidu.com');
await page.fill('#kw', 'React');
await page.click('#su');
await page.waitForTimeout(3000);
await browser.close();
})();
运行:
node index.js
特点:
✓ 快
✓ 支持多浏览器
✓ 自动等待元素加载
✓ 适合测试 + 自动化
2. Puppeteer 官方网站(经典)
Google 出品,仅偏向 Chrome。
安装:
npm install puppeteer
示例:
const puppeteer = require('puppeteer');
(async()=>{
const browser = await puppeteer.launch({
headless:false
});
const page = await browser.newPage();
await page.goto('https://github.com');
await page.screenshot({
path:'github.png'
});
await browser.close();
})();
用途:
- 自动截图
- PDF 导出
- 爬虫
- 模拟登录
3. Cypress 官方网站(前端测试)
适合:
React / Vue / Angular 项目测试
安装:
npm install cypress --save-dev
测试:
describe('login',()=>{
it('success',()=>{
cy.visit('/login')
cy.get('#user')
.type('admin')
cy.get('#pwd')
.type('123')
cy.get('button')
.click()
})
})
主要做:
E2E 自动测试
4. Selenium(老牌方案)
支持:
Java、Python、JS、Go
适合:
企业级自动化测试
缺点:
配置复杂,速度慢。
推荐学习路线(结合你的 React/性能平台经验)
你做过:
- React
- 后台管理系统
- 性能平台
- PDF / Excel
- 自动下载
比较适合直接学:
Playwright
↓
自动登录
↓
文件下载(PDF/Excel)
↓
接口拦截
↓
性能测试
↓
CI/CD 自动测试
可以做的项目例子:
① 自动登录云平台 → 下载性能报告
② 自动跑接口 → 校验数据
③ 自动截图 → 生成日报
④ 自动检测页面性能指标
如果想从实战入门,建议先学 Playwright,当前前端岗位里越来越常见。