2、环境搭建与浏览器启动:安装Python环境、安装Playwright库、安装浏览器驱动、启动Chromium/Firefox/WebKit
说实话,很多同学学自动化测试,第一步就卡在环境搭建上。
我见过太多人,代码写好了,结果跑不起来——不是Python版本不对,就是浏览器驱动没装。嗯,这章咱们就把这些坑一个个填平。
2.1 安装Python环境
Playwright官方推荐Python 3.7以上版本。我个人习惯用Python 3.10,稳定且兼容性好。
Windows用户:
- 去python.org下载安装包,记得勾选「Add Python to PATH」
- 打开命令行,输入
python --version验证
macOS/Linux用户:
- macOS自带Python,但版本可能偏旧。我建议用Homebrew安装:
brew install python@3.10 - Linux用户用包管理器:
sudo apt install python3.10
2.2 安装Playwright库
环境准备好后,安装Playwright本身其实就一行命令:
pip install playwright
等等,别急着敲回车。我建议你先创建一个虚拟环境。为什么?
你想想看,不同项目依赖的库版本可能冲突。我之前有个项目用Playwright 1.30,另一个用1.40,如果不隔离,分分钟出问题。
创建虚拟环境:
python -m venv myenv
# Windows激活
myenv\Scripts\activate
# macOS/Linux激活
source myenv/bin/activate
激活后,再执行安装命令:
pip install playwright
验证安装:
python -c "import playwright; print(playwright.__version__)"
如果能正常输出版本号,说明安装成功。
2.3 安装浏览器驱动
这一步是新手最容易踩坑的地方。
Playwright和Selenium不一样。Selenium需要你手动下载ChromeDriver,还得匹配浏览器版本。Playwright则内置了浏览器下载工具。
安装浏览器驱动,只需要一行命令:
playwright install
这条命令会下载Chromium、Firefox和WebKit三个浏览器。嗯,大概需要几分钟,取决于你的网速。
playwright install chromium 只装Chromiumplaywright install firefox 只装Firefoxplaywright install webkit 只装WebKit
我曾经遇到过一个问题:在公司内网环境下,下载总是超时。后来发现是代理没配置好。如果你也遇到类似情况,可以设置环境变量:
# Windows
set PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/playwright
# macOS/Linux
export PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/playwright
说白了,就是换个镜像源,下载速度会快很多。
2.4 启动Chromium/Firefox/WebKit
环境都搭好了,咱们来写第一段代码。激动不?
启动Chromium:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://www.baidu.com")
print(page.title())
browser.close()
这段代码做了几件事:
- 导入Playwright的同步API
- 启动Chromium浏览器(headless=False表示显示界面)
- 打开百度首页
- 打印页面标题
- 关闭浏览器
启动Firefox:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.firefox.launch(headless=False)
page = browser.new_page()
page.goto("https://www.baidu.com")
print(page.title())
browser.close()
看到了吗?只是把 p.chromium 换成了 p.firefox。Playwright的API设计得非常统一,切换浏览器几乎不需要改代码。
启动WebKit:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.webkit.launch(headless=False)
page = browser.new_page()
page.goto("https://www.baidu.com")
print(page.title())
browser.close()
三种浏览器的区别:
| 浏览器 | 内核 | 适用场景 |
|---|---|---|
| Chromium | Blink | 最常用,兼容性好,调试方便 |
| Firefox | Gecko | 测试Firefox专属特性,或需要Gecko渲染 |
| WebKit | WebKit | 模拟Safari环境,iOS测试常用 |
我个人习惯:日常开发用Chromium,上线前再用Firefox和WebKit跑一遍全量用例。你想想看,不同浏览器渲染差异还是挺大的,尤其是CSS兼容性方面。
2.5 避坑指南
我曾经踩过的坑:
- 浏览器版本不匹配: 有次我手动更新了系统Chrome,结果Playwright报错。后来发现Playwright用的是自己下载的浏览器,和系统浏览器没关系。所以别手动更新Playwright的浏览器,用
playwright install统一管理。 - headless模式看不到界面: 调试时记得设置
headless=False,不然你都不知道浏览器在干嘛。 - 中文输入问题: 启动浏览器时加上
locale='zh-CN'参数,可以避免很多中文显示问题。
嗯,环境搭建这块就这些内容。说白了,只要按步骤来,十分钟就能搞定。下一章咱们开始写真正的自动化脚本,到时候你会觉得——原来这么简单。