【发布时间】:2022-01-20 20:22:41
【问题描述】:
我正在使用 Puppeteer 进行节点应用,我需要将 Xvfb 显示设置为浏览器的主显示,但我似乎找不到任何方法来做到这一点。 我最接近我想要的是使用'--use-fake-device-for-media-stream',但我想设置为真实设备而不仅仅是测试视频。 反正我能做到吗?
【问题讨论】:
标签: javascript node.js google-chrome puppeteer chromium
我正在使用 Puppeteer 进行节点应用,我需要将 Xvfb 显示设置为浏览器的主显示,但我似乎找不到任何方法来做到这一点。 我最接近我想要的是使用'--use-fake-device-for-media-stream',但我想设置为真实设备而不仅仅是测试视频。 反正我能做到吗?
【问题讨论】:
标签: javascript node.js google-chrome puppeteer chromium
这个解决方案对我有用:
# install the package
apt-get install -y xvfb
# set display variable
export DISPLAY=:0
# start Xvfb daemon in the background (only once)
/usr/bin/Xvfb :0 -screen 0 1024x768x24 &
# wait a bit to let it come up (only once)
sleep 5
# add prefix "xvfb-run" to "node" or "python" script
xvfb-run node myscript.js
# or
xvfb-run python myscript.py
启动 puppeteer 时不要忘记设置 { headless: false }。
来源:https://anti-captcha.com/apidoc/articles/how-to-integrate-the-plugin
【讨论】:
Puppeteer 本质上是无头的(没有显示器),但您可以使用page.emulate() 或page.setViewport() 设置默认视口、像素比率等来模拟您正在测试的设备。
【讨论】: