【问题标题】:How to install Selenium (python) on a Apache Web Server?如何在 Apache Web 服务器上安装 Selenium (python)?
【发布时间】:2020-07-25 05:50:45
【问题描述】:

我已经启动并运行了一个安装了 Python 3.x 的 Apache 服务器。现在我正试图在服务器上运行一个小python程序(比如说filename.py)。但是这个 python 程序使用了来自 Selenium 的 Chrome 的 webdriver。它还使用睡眠时间(但我认为这是默认情况下出现的,所以我认为这不是问题)

from selenium import webdriver

当我第一次在我的电脑上编写这个程序时,我不仅要编写上面的代码行,还要手动下载 Chrome 的 webdriver 并将其粘贴到 /usr/local/bin。如果您想知道,这里是文件的链接:Webdriver for Chorme

无论如何,我不知道在我的服务器上配置它的等价物是什么。你知道怎么做吗?或者我可以学到与在 Apache 服务器上安装软件包相关的任何概念?

【问题讨论】:

  • 看看我的回答,如果有帮助请告诉我

标签: python apache selenium server webdriver


【解决方案1】:

简单的解决方案:

您无需在usr/local/bin 中安装驱动程序。您可以在任何地方使用 .exe,并且可以使用可执行路径指定它,例如,请参阅 here

在服务器上运行的解决方案

如果你在服务器上安装了 python,最好是 >3.4,它默认带有 pip。然后在独立服务器上安装 ChromeDriver,按照说明here

注意,Selenium 总是需要一个浏览器的实例来控制。

幸运的是,有些浏览器不像您所知道的通常浏览器那么重。您不必打开 IE / Firefox / Chrome / Opera。您可以使用控制 HTMLUnit 的 HtmlUnitDriver - 一个没有任何 UI 的无头 Java 浏览器。或者驱动 PhantomJS 的 PhantomJsDriver - 另一个在 WebKit 上运行的无头浏览器。

那些无头浏览器的内存占用少得多,通常速度更快(因为它们不需要渲染任何东西),它们不需要图形界面可供它们运行的​​计算机使用,因此很容易使用服务器端。

无头设置示例代码

op = webdriver.ChromeOptions()
op.add_argument('headless')
driver = webdriver.Chrome(options=op)

运行 Selenium RC 也值得一读,请参阅 here

【讨论】:

  • 非常感谢您抽出宝贵时间。我一定会试一试的。抱歉回复晚了,我一直忙于工作。再次感谢!
  • 不用担心。让我知道结果。谢谢
  • 你给我的代码有效!现在,当我运行程序时,没有打开谷歌浏览器实例。但是,当我尝试通过服务器运行它时,/var/log/apache2/error_filename.log 上出现以下错误:“ModuleNotFoundError: No module named 'selenium'” 这就是为什么我担心安装 selenium/webdriver正确
  • 你有没有做pip install selenium在服务器上安装selenium模块
  • 我在我的终端上做了 pip install selenium,这就是为什么当我通过我的计算机运行程序时它可以工作的原因。但是当我尝试通过服务器运行它时,出现“ModuleNotFoundError”
猜你喜欢
  • 2010-09-06
  • 2011-12-27
  • 2018-06-14
  • 2012-04-14
  • 2014-07-16
  • 2020-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多