我正在尝试在Linux服务器上运行python代码,我的代码涉及运行Selenium。 我开始运行代码后不久,弹出以下错误:
The browser appears to have exited before we could connect. The output was: Error: cannot open display:
我安装了firefox和selenium,但由于某种原因,错误会不断出现
我该如何解决这个问题?
谢谢
答案 0 :(得分:0)
我猜你需要一个$ DISPLAY变量,以及xauth或xhost。
Selenium依赖于浏览器,Linux上的浏览器依赖于X11。 $ DISPLAY告诉X11在哪里可以找到X服务器(呈现图形的东西 - 通常是在你面前的计算机上),xauth或xhost告诉远程主机如何向X服务器进行身份验证。 / p>
如果您使用putty连接到Linux主机(或其他X11-ssh客户端),您可能需要在您坐在前面的机器上安装X服务器,然后使用Cygwin ssh -Y将xauth信用转发到远程主机。
对许多人来说效果很好的另一个选择是使用VNC。这允许您重新启动您坐在前面的机器,而不会中断您的Selenium测试。有许多可互操作的VNC客户端/服务器。
只需运行“xterm&”即可轻松测试X11通信或“xdpyinfo”。如果这显示在你坐在X11设置前的机器上的命令窗口。