我一直在尝试使用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 ='')(无法找到或导入可调用 误差)
由于