前端浏览器自动化
前端浏览器自动化(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(老牌方案)
Selenium 官方网站
支持:
Java、Python、JS、Go
适合:
企业级自动化测试
缺点:
配置复杂,速度慢。
推荐学习路线(结合你的 React/性能平台经验)
你做过:
React
后台管理系统
性能平台
PDF / Excel
自动下载
比较适合直接学:
Playwright ↓ 自动登录 ↓ 文件下载(PDF/Excel) ↓ 接口拦截 ↓ 性能测试 ↓ CI/CD 自动测试可以做的项目例子:
① 自动登录云平台 → 下载性能报告
② 自动跑接口 → 校验数据
③ 自动截图 → 生成日报
④ 自动检测页面性能指标
如果想从实战入门,建议先学 Playwright,当前前端岗位里越来越常见。
