有没有办法在铬启动选项中设置特定的显示?
Posted
技术标签:
【中文标题】有没有办法在铬启动选项中设置特定的显示?【英文标题】:Is there a way to set an specific display at chromium launch options? 【发布时间】:2022-01-20 20:22:41 【问题描述】:我正在使用 Puppeteer 进行节点应用,我需要将 Xvfb 显示设置为浏览器的主显示,但我似乎找不到任何方法来做到这一点。 我最接近我想要的是使用'--use-fake-device-for-media-stream',但我想设置为真实设备而不仅仅是测试视频。 反正我能做到吗?
【问题讨论】:
【参考方案1】:这个解决方案对我有用:
# 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
【讨论】:
哇,这实际上是用 xvfb 开始我的脚本的,谢谢!但实际上,并没有解决整个问题。我将使用这个节点应用程序来共享我的屏幕,所以我使用“--use-fake-ui-for-media-stream”来跳过选择屏幕提示,当我从 xvfb 开始时它什么都不做.关于如何解决这个问题的任何想法? 你能详细说明你想要做什么吗?比如,你想用 puppeteer 执行什么步骤。也许只有我一个人,但它肯定也可以帮助其他人更好地理解你的问题 好的,很抱歉这个令人困惑的问题。我实际上正在做一个自我机器人,它在不和谐的屏幕上共享它,但是当您单击“共享屏幕按钮”时会出现一个弹出窗口,并且 puppeteer 无法处理它,所以如果没有“--use”就不可能做到这一点-fake-ui-for-media-stream' 参数,当使用 Xvfb 启动脚本时,它不做任何事情。但是使用“--use-fake-device-for-media-stream”,它工作得非常好,但仅适用于测试视频,我想将 Xvfb 显示设置为像测试视频一样工作。希望能给问题一些启示。【参考方案2】:Puppeteer 本质上是无头的(没有显示器),但您可以使用page.emulate()
或page.setViewport()
设置默认视口、像素比率等来模拟您正在测试的设备。
【讨论】:
以上是关于有没有办法在铬启动选项中设置特定的显示?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Aurelia-Dragula 中设置容器特定选项?