如何在 Ubuntu 服务器中通过外部请求运行 Geckodriver

如何在 Ubuntu 服务器中通过外部请求运行 Geckodriver

我在装有 Apache 的 Ubuntu 16 服务器中运行了一个 Flask 应用程序。它使用 WSGI 来运行。这个应用程序的主要目标是从第三方网站抓取信息。为了实现这一点,它使用了 Firefox 和 geckodriver。当我使用 ssh 从终端执行 Geckodriver 时,它运行没有任何问题。但是,当我从我在 Web 浏览器中拥有的域执行该应用程序时,我收到连接被拒绝异常。我很确定这与权限有关,但我不知道如何解决它。以下是我的环境规格:

  • Ubuntu 16.04.5 LTS
  • Mozilla Firefox 62.0
  • Python 2.7.12
  • 硒 3.14.0
  • Geckodriver 22.0

任何帮助将不胜感激

答案1

我认为问题不在于权限,而在于 DISPLAY 变量。问题是 Firefox 找不到屏幕,这可能是它抛出异常的原因。您可以尝试在echo $DISPLAYssh 会话中检查,结果可能是空白。解决方案是将 DISPLAY 设置为某个值。

export DISPLAY=:0.0

这告诉 X 服务器使用第一个监视器。

有关更多信息展示

相关内容