Xvfb已经安装但在使用pyvirtualdisplay时抛出错误并建议安装Xvfb

时间:2017-06-25 15:58:42

标签: python linux selenium flask xvfb

我一直在尝试使用pyvirtualdisplay在刻录应用程序中运行selenium Chrome浏览器作为启动时的API。

这是我正在尝试运行的代码

from flask import Flask, request, jsonify
from pymongo import MongoClient
import pymongo.errors
from selenium import webdriver
from pyvirtualdisplay import Display

display = Display(visible=0, size=(800, 600))
display.start()
chromeOptions = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images": 2}
chromeOptions.add_experimental_option("prefs", prefs)
browser = webdriver.Chrome("/usr/local/bin/chromedriver", chrome_options=chromeOptions)

application = Flask(__name__)


if __name__ == "__main__":

    application.run(host='0.0.0.0')
    browser.close()
    display.stop()

尝试以

运行时工作正常
python project.py

但是当使用uswgi和Nginx进行部署并且在尝试启动时会抛出错误

  

文件“./wsgi.py”,第1行,in   来自项目导入应用程序文件“./project.py”,第7行,in   display =显示(可见= 0,大小=(800,600))文件“/home/ubuntu/project/projectenv/local/lib/python2.7/site-packages/pyvirtualdisplay/display.py”,   第34行,在 init 中   self._obj = self.display_class(文件“/home/ubuntu/project/projectenv/local/lib/python2.7/site-packages/pyvirtualdisplay/display.py”,   第52行,在display_class中   cls.check_installed()文件“/home/ubuntu/project/projectenv/local/lib/python2.7/site-packages/pyvirtualdisplay/xvfb.py”,   第38行,在check_installed中   ubuntu_package = PACKAGE).check_installed()文件“/home/ubuntu/project/projectenv/local/lib/python2.7/site-packages/easyprocess/init.py”,   在check_installed中的第180行   引发EasyProcessCheckInstalledError(self)easyprocess.EasyProcessCheckInstalledError:cmd = ['Xvfb',' - help']   OSError = [Errno 2]没有这样的文件或目录程序安装错误!   您可以在终端中安装它:sudo apt-get install xvfb

     

无法加载应用0(mountpoint ='')(无法找到或导入可调用   误差)

由于

0 个答案:

没有答案