前端浏览器自动化

前端浏览器自动化(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,当前前端岗位里越来越常见。

相关推荐
无言听风雨丶27 分钟前
Linux 容器本质探秘:Cgroup 与 Namespace 深度解析与实战
linux·运维·服务器·kubernetes
万联WANFLOW28 分钟前
CVE-2026-98432 等漏洞自查:AI 查出的 Linux、Windows 漏洞,运维怎么确认受不受影响
linux·运维·windows·网络安全
Highcharts.js29 分钟前
React 中原生支持使用 JSX 组件配置自定义表格 Highcharts Grid
前端·javascript·react.js·前端框架·jsx·highcharts·自定义表格
debugdynamo31 分钟前
Netcatty:把 SSH 客户端做回工作台
运维·其他·ssh
时空无限40 分钟前
ssh 直接免密输入 sudo 密码
运维·ssh
Frag0ut41 分钟前
Notepad++ 宏录制自动化实战:让重复操作一键完成(2026效率版)
自动化·notepad++·macros·批量处理·宏录制·一键操作·重复操作自动化
OPEN-F42 分钟前
Ubuntu 自动登录后 GNOME 远程桌面连不上?一次登录钥匙环锁定的排查与永久修复
linux·运维·ubuntu
硅基手札1 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
薛定谔的猫-菜鸟程序员1 小时前
Electron开发超详细教程(从入门到放弃)
前端·javascript·electron
修心光1 小时前
记录一次,jenkins打包异常问题
运维·jenkins