本文记录了 Debian 系统中,手动安装 Edge 浏览器以及开启 CDP 协议的详细操作过程。
前言
前段时间使用 Playwright 做爬虫项目,发现让 Playwright 控制浏览器的打开和关闭不符合项目的要求且难以进行调试。
后来发现可以让 Playwright 通过 CDP 协议附加到已打开的 Chromium 内核浏览器中。
以下是来自 Gemini 对 CDP 协议的解释:
CDP(Chrome DevTools Protocol)是 Chrome 开发者工具协议,它允许开发者通过工具与 Chrome 浏览器进行通信,实现远程控制、调试和性能分析等功能。
在代码开发调试阶段,我选择了 Windows 自带的 Edge 浏览器,因此代码在服务器部署时我也选择使用 Edge 浏览器。
本文 Linux 系统 : WSL2 , Debian
文中使用的命令均为 root
用户执行。
安装 Edge
此部分正式开始在 Debian 系统上安装 Edge 浏览器。
开始之前
- 建议先对 Debian 系统执行以下命令更新本地软件包列表
apt update
下载软件
-
前往 Microsoft Edge 官网下载最新稳定版的
.deb
软件包 -
将下载完成的
.deb
软件包使用scp
命令发送至 Debian 系统scp microsoft-edge-stable_131.0.2903.112-1_amd64.deb root@192.168.1.56:~
提醒一下,并不是只有
scp
命令才能将.deb
软件包保存至 Debian 系统
WSL2 中的 Debian 系统可以使用
cp
命令从 Windows 磁盘复制文件至 Debian 系统,例如:cp /mnt/c/Users/dancy/Downloads/microsoft-edge-stable_131.0.2903.112-1_amd64.deb ./
如果是云服务器的 Debian 系统,也可以使用
wget
命令下载.deb
软件包,例如:wget -O ms-edge.deb https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_131.0.2903.112-1_amd64.deb?brand=M102
安装软件
- 在 Debian 系统上使用
dpkg
命令安装 Edge 的.deb
软件包dpkg -i microsoft-edge-stable_131.0.2903.112-1_amd64.deb
- 软件包安装完成后会提示依赖不全,执行以下命令可以自动解决依赖安装问题
apt -f install
- 依赖安装完成后可以使用
whereis
命令查看 Edge 浏览器的可执行文件路径whereis microsoft-edge-stable
- 如果使用 WSL2 中的 Debian 发行版,可以执行以下命令运行 Edge 浏览器
microsoft-edge-stable
- 注意:如果是以
root
用户运行 Edge 浏览器,则必须添加--no-sandbox
参数- 如果 Edge 浏览器界面无法正常显示中文,则执行以下命令安装文泉驿正黑字体并更新字体缓存
apt install fonts-wqy-zenhei && fc-cache -fv
启用 CDP
此部分介绍如何开启 Edge 浏览器的 CDP 调试以及一些附带参数说明。
基本参数
- 在 Debian 系统中执行以下命令可以打开 Edge 浏览器的 CDP 调试模式
/usr/bin/microsoft-edge-stable --remote-debugging-port=9222 --user-data-dir=./temp/user_1
/usr/bin/microsoft-edge-stable
: Edge 浏览器的可执行文件路径--remote-debugging-port
: 指定远程调试端口(允许 Playwright 、Selenium 等工具连接浏览器并进行控制)--user-data-dir
: 指定用户数据目录,如果目录不存在则自动创建
常用参数
以下表格展示的是 Edge 浏览器开启 CDP 调试时所需的一些常用参数,可以自行选择配置。
参数 | 说明 |
---|---|
xvfb-run |
在虚拟X服务器中运行命令,用于无物理显示器的环境 |
-a |
xvfb-run 参数,自动分配显示编号 |
--server-args=-screen 0 800x600x24 |
xvfb-run 参数,设置虚拟屏幕分辨率(800×600)和颜色深度(24位) |
/usr/bin/microsoft-edge-stable |
Edge浏览器可执行文件路径 |
--remote-debugging-port=9222 |
启用远程调试,指定端口9222 |
--user-data-dir=./temp/user_1 |
指定用户数据目录,避免与其他Edge实例冲突 |
--window-size=800,600 |
设置浏览器窗口初始大小为1280×720像素 |
--disable-extensions |
禁用所有扩展程序 |
--disable-sync |
禁用同步功能 |
--no-first-run |
阻止首次运行欢迎界面 |
--disable-infobars |
禁用信息栏提示 |
--disable-gpu |
禁用GPU加速 |
--restore-last-session=0 |
禁用恢复上次会话 |
--disable-session-crashed-bubble |
禁用会话崩溃提示 |
--mute-audio |
静音浏览器 |
--disable-background-networking |
禁用后台网络连接 |
--no-default-browser-check |
阻止默认浏览器检查 |
--safebrowsing-disable-auto-update |
禁用安全浏览自动更新 |
使用以上参数生成一条可在 Debian 系统上执行的 shell 命令如下(在 xvfb
中运行将不会有 UI 界面):
xvfb-run -a --server-args="-screen 0 800x600x24" /usr/bin/microsoft-edge-stable --remote-debugging-port=9222 --user-data-dir=./temp/user_1 --window-size=800,600 --disable-extensions --disable-sync --no-first-run --disable-infobars --disable-gpu --restore-last-session=0 --disable-session-crashed-bubble --mute-audio --disable-background-networking --no-default-browser-check --safebrowsing-disable-auto-update
如果要在云服务器 Debian 系统上使用
xvfb
运行 Edge 浏览器,则首先需要执行以下命令安装xvfb
apt install xvfb
更多 CDP 参数选项和参数说明可以参照此地址: List of Chromium Command Line Switches
总结
在 Debian 系统上安装 Edge 浏览器其实并不困难,最重要的依赖安装问题可以通过一条命令解决。
此外需要注意的是,如果 Edge 浏览器不能正常显示中文,那就是 Debian 系统缺少中文字体。
鉴于一般云服务器没有显示屏幕,在云服务器上运行需要 UI 界面的程序时,可以使用 xvfb
命令。