我正在尝试在无头 CentOS 服务器上运行 Firefox GUI 浏览器以执行一些 Web 测试。
我不需要看到图形输出,因为我使用硒服务器API控制浏览器的输入并检查输出。
该设置已在 Mac 台式机上成功测试。但是,它无法在我的无头 VPS CentOS 服务器上运行,并显示以下消息“错误:未指定显示”。 (这很合理,因为它只是一台放在某个机架上的服务器。)
如何让 Firefox 在没有显示器的情况下运行,以便 Selenium 能够与其交互?或者更广泛地说,在没有显示器的情况下,人们如何在 Linux 服务器上运行仅有 GUI 的应用程序?
我注意到 Firefox 有这个命令行选项:
X11 options
--display=DISPLAY X display to use
不幸的是,我对 X11 或 CentOS 下的显示一无所知,所以我不知道在命令行上指定什么,或者这是否有帮助。
答案1
使用 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”,指向适当的主机。