Eri*_*ric 18 linux centos firefox selenium
我正在尝试在无头 CentOS 服务器上运行 Firefox GUI 浏览器以执行一些 Web 测试。
我不需要查看图形输出,因为我使用Selenium服务器API来控制浏览器的输入并检查输出。
该设置已在台式 Mac 计算机上成功测试。但是,它无法在我的无头 VPS CentOS 服务器上运行,并显示以下消息“错误:未指定显示”。(这是有道理的,因为它只是一个位于某个机架上的服务器。)
如何让 Firefox 在没有显示器的情况下运行,以便 Selenium 能够与之交互?或者——更广泛地说——当没有显示器时,人们如何在 Linux 服务器上运行纯 GUI 应用程序?
我注意到 Firefox 有这个命令行选项:
X11 options
--display=DISPLAY X display to use
Run Code Online (Sandbox Code Playgroud)
不幸的是,我对 X11 或 CentOS 下的显示一无所知,所以我不知道在命令行上指定什么,或者这是否有帮助。
cjc*_*cjc 19
使用 Xvfb。它为您提供了不需要连接到物理显示器的 X 服务器。
(因此,在 CentOS 上,您会执行诸如“yum install xorg-x11-server-Xvfb”之类的操作。)
然后,您可以使用命令“/path/on/which/installed/Xvfb :1 -screen 0 1024x768x24 &”在显示“:1”上启动它。这将创建一个分辨率为 1027x768 和深度为 24 的屏幕。使用“&”将使命令在后台执行。
在启动 Firefox 之前,您需要使显示可访问,这是使用导出命令完成的 - 即。“export DISPLAY=:1”,指向任何合适的主机。