我试图在Linux服务器上运行一段python代码,而我的代码涉及到运行Selenium。在我开始运行代码后不久,弹出了以下错误:
The browser appears to have exited before we could connect. The output was: Error: cannot open display:
我安装了firefox和selenium,但由于某些原因,错误不断出现
我该如何解决这个问题?
谢谢
发布于 2013-12-04 07:38:34
我猜您需要一个$DISPLAY变量,以及xauth或xhost。
Selenium依赖于浏览器,而Linux上的浏览器依赖于X11。$DISPLAY告诉X11在哪里可以找到X服务器(渲染图形的东西-通常是在您坐在前面的计算机上),而xauth或xhost告诉远程主机如何向X服务器进行身份验证。
如果您使用putty连接到Linux主机(或其他没有X11的ssh客户机),则可能需要在您前面的机器上安装X服务器,然后使用Cygwin ssh -Y将xauth证书转发到远程主机。
对于许多人来说,另一个非常有效的选择是使用VNC。这允许您在不中断Selenium测试的情况下重新启动当前的机器。有许多可互操作的VNC客户端/服务器。
只需运行"xterm &“或"xdpyinfo”,就可以轻松地测试X11通信。如果在您所在的机器上显示命令窗口,则说明X11已设置好。
https://stackoverflow.com/questions/20363655
复制相似问题