Playwright 是一个由 Microsoft 开发的开源自动化库,它允许开发者以编程的方式控制 Chromium,Firefox和 WebKit 这样的现代浏览器。Playwright 能够执行跨浏览器的端到端测试,非常适合自动化测试、爬虫开发以及生成网页截图和 PDF。本文将指导你在 Ubuntu 系统上安装和配置Playwright。
Ubuntu环境配置
先打开Ubuntu终端,执行以下命令安装Playwright的依赖库:
sudo apt update
sudo apt install libatk1.0-0 libatk-bridge2.0-0 libcups2 libxkbcommon0 libatspi2.0-0 libxdamage1 libgbm1 libpango-1.0-0 libcairo2
部分环境可能还需要执行以下命令:
sudo apt-get install libxcomposite1 libxfixes3 libxrandr2 libasound2
Python环境配置
接下来需要安装Python相关的库,执行以下pip命令(部分环境使用的命令是pip3):
pip install playwright
如果安装较慢或者安装失败,通常是境外网络延迟及不稳定造成的,可以直接使用国内的镜像站安装,这里使用清华大学的镜像服务器:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple playwright
Chromium安装配置
安装好python 的 playwright库后,还需要给playwright安装chromium环境,同样在终端里执行以下命令:
python -m playwright install
这时候会自动安装chromium环境,等待命令执行结束即可。
环境验证及playwright 的Hello World
根据自己的喜好新建一个python脚本文件,把以下代码粘贴进去并保存。此处以脚本文件名test.py为例,python脚本代码如下:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True, slow_mo=1000)
context = browser.new_context() # 创建上下文,浏览器实例1
page = context.new_page() # 打开标签页
page.goto("https://spiderbuf.cn/")
print(page.title())
page.screenshot(path = 'test.png', full_page=True)
以上代码会在后台访问https://spiderbuf.cn 网站,把首页生成截图保存在python脚本所在目录下的test.png文件。
如果截图出现字符变成小正方形之类的乱码,通常是由于当前的ubuntu环境没有安装中文字体,只需要给当前环境安装任意一种中文字体即可。