Firefox运行还需要D-BUS,因此同时还需要 sudo apt install dbus-x11
xvfb这个仿真框架使用虚拟内存能让X-Server运行在没有显示设备的机器上。这样,浏览器就可以运行了。在ubuntu和Debian上安装xvfb,只要运行:
sudo apt-get install xvfb
现在,可以运行xvfb服务上一个带有数字的显示设备上,这样是为了防止你在下阶段添加设备时引发冲突。用以下命令分配一个显示设备 10
sudo Xvfb :10 -ac
-ac代表关闭xvfb的访问控制。
在你运行浏览器前,你首先要设置DISPLAY环境变量,以指定xvfb运行在哪个显示设备上。在加入环境变量前,我们检查一下所有的这些都如我们所料:
如果终端(terminal)没有显示错误,就说明你已经成功运行Firefox在无显示设备的ubuntu上了。它会一直运行,直到你使用ctrl + C或其它类似方法来终止其运行。同时,它不会有任何输出。
如果你能成功运行以上的步骤,那么接下来的部分就是轻而易举了。现在,我们可以在ubuntu服务器上运行selenium,如同你在本地运行一样。
安装完成后,将geckodriver所在路径写入PATH中,之后就可以在服务端进行selenium测试
笔者使用的shell是zsh,为了把PATH和DISPLAY这两个变量固定下来,在 ~/zshrc 中将下面两句语句写入
安装xvfb之后,可以考虑使用python库pyvirtualdisplay,防止出现geckodriver出现GBK_BACKEND相关错误
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)