Selenium是否可以在没有GUI的Ubuntu上工作?

Selenium是否可以在没有GUI的Ubuntu上工作?,第1张

Selenium是否可以在没有GUI的Ubuntu上工作?

Selenium只是一个库,因此,如果您在配备GUI的系统上运行它,它并不特别在乎。您可能要问的是:如果我使用Selenium打开浏览器,那么该浏览器是否可以在没有GUI的系统上运行。答案是:这取决于!

有无头浏览器:也没有GUI组件的浏览器。HtmlUnit与Selenium打包在一起。另一个流行的浏览器是PhantomJS,它具有名为GhostDriver的第三方Selenium绑定库。我个人会
避免这两种情况
!HtmlUnit使用当前桌面浏览器都不支持的Javascript引擎,因此测试不是很可靠。GhostDriver已有2年没有得到维护,因此也无法获得可靠的结果。PahntomJS绝对是一个选择,因为它使用WebKit(Safari和Chrome浏览器中的引擎),但是您必须编写自己的API。

大多数系统将允许您具有虚拟GUI。您提到了Ubuntu,它是Debian的衍生产品。网上有几本教程告诉您如何安装Xvfb,其中大多数教程不完整或错误。在Debian上,您可以安装无头浏览器,如下所示:

  1. 安装Xvfb:
    apt-get install xvfb
  2. 安装浏览器。假设您使用的是Debian服务器,您将无法安装带有apt-get的Firefox之类的程序,因为不存在存储库。取而代之的是Google之类的“ Firefox离线安装”之类的东西,或者您想使用的任何浏览器,然后
    wget
    在您的服务器上使用它们来获取软件包
  3. 将软件包解压缩,例如
    /usr/local/lib
    ,然后创建一个指向
    /usr/local/bin
    启动浏览器的二进制文件的软链接。
  4. 现在尝试无头启动浏览器。例如,对于Firefox的你会尝试:
    xvfb-run firefox
    。这可能会产生一些错误,您必须修复。就我而言,我缺少
    libdbus-glib-1-2
    可以使用apt-get安装的库。
  5. 此时,您将需要在运行Selenium测试之前启动Xvfb。大多数CI服务器都有Xvfb的插件,也可以从以下命令行进行 *** 作:
    Xvfb :99 &
    。有关其他信息,请参阅文档。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5638962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存