我已经启动并运行了已安装了Python 3.x的Apache服务器。现在,我正在尝试在服务器上运行一个小的python程序(比如filename.py)。但是此python程序使用了Selenium的Chrome浏览器的网络驱动程序。而且它会不时使用睡眠(但是我认为这是默认情况,所以我认为这不会有问题)
from selenium import webdriver
当我第一次在计算机上编写该程序时,不仅需要编写上面的代码行,而且还必须手动下载Chrome浏览器的网络驱动程序并将其粘贴到/ usr / local / bin。如果您想知道的话,这里是文件的链接:适用于Chorme的Webdriver
无论如何,我不知道在我的服务器上进行此配置的等效性。你有什么想法吗?或我能学到的与在Apache服务器上安装软件包有关的任何概念?
简单的解决方案:
您无需在中安装驱动程序usr/local/bin
。您可以在任何地方使用.exe,并且可以使用可执行路径指定该名称,请参见此处的示例。
在服务器上运行的解决方案
如果您在服务器上安装了python,则理想情况下> 3.4,默认情况下是pip。然后在独立服务器上安装ChromeDriver,请按照此处的说明进行操作
请注意,Selenium始终需要浏览器实例来进行控制。
幸运的是,那里的浏览器不如您所知道的普通浏览器那么重。您无需打开IE / Firefox / Chrome / Opera。您可以使用HtmlUnitDriver来控制HTMLUnit-无头的Java浏览器,它没有任何UI。或驱动PhantomJS的PhantomJsDriver-在WebKit上运行的另一个无头浏览器。
那些无头浏览器占用的内存少得多,通常速度更快(因为它们无需渲染任何内容),它们不需要图形界面即可在运行的计算机上使用,因此很容易在服务器端使用。
无头设置的示例代码
op = webdriver.ChromeOptions()
op.add_argument('headless')
driver = webdriver.Chrome(options=op)
在运行Selenium RC方面也值得一读,请参见此处。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句