在 Puppeteer 里使用代理服务器科学上网
使用 Puppeteer 录制视频的时候,如果服务器在国内,可能会有一些网站打不开。这个时候,我们可以要求 Puppeteer 使用代理服务器。
0. 配置科学上网
参考两篇旧文,其实原理一样,只是用的软件不一样:
配置完成之后,通过浏览器应该可以正常访问。
1. 使用代理服务器
启动 Puppeteer 的时候,可以传入参数 args,进行各种调整,完整的列表请参考:List of Chromium Command Line Switches。
关于代理服务器,有若干个选项,我们要用的是 --proxy-server,方法是:
puppeteer.launch({
args: [
'--proxy-server=socks5://127.0.0.1:1080',
],
});
2. 使用 PAC 文件
但是这样所有流量都会走代理服务器,也不符合我们的期待,所以最好使用 PAC 文件。参数名称是:--proxy-pac-url,但请注意,因为 Chromium 的 bug,这个参数只在 headless: false,即有界面的时候才会生效。好在我们是为了录视频,所以本来就要打开界面。
所以最终的启动代码就是:
puppeteer.launch({
headless: false,
args: [
'--proxy-server=socks5://127.0.0.1:1080',
'--proxy-pac-url=http://localhost/autoproxy.pac',
],
});
相关文章
使用 webpack-rpc-inline-plugin 打包内联函数体
使用 Puppeteer 的时候,我们常常要使用 page.evaluate() 或者 page.evalua […]
2021-11-203 分钟
移除 Puppeteer 里的保存密码提示窗
用 Puppeteer 自动化登录或录制视频时,Chrome 的保存密码弹窗很干扰。本文给出移除该弹窗的正确姿势:通过启动参数与 Profile 首选项禁用密码管理器,附可直接复制的 launch 配
2021-05-093 分钟
在 Raspberry Pi 4B 上跑 Puppeteer
Puppeteer 自带的 Chromium 不支持 ARM,无法直接在树莓派上运行。本文分享在 Raspberry Pi 4B(Debian 10)上跑通 Puppeteer 的方法:安装系统版 C
2020-12-052 分钟


