有没有办法在铬启动选项中设置特定的显示?

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 中设置容器特定选项?

有没有办法在 ASP.net 中设置标签顺序? [复制]

如何在jelastic中设置docker run选项,特别是max file descriptors(ulimit)

如何在 Xcode 中设置启动屏幕图像

在 Swift 中设置活动标签栏项目的背景颜色

我如何在 Dojo form.select 选项中设置选中