尝试启动pyvirtualdisplay时出现以下错误:
>>> from pyvirtualdisplay import Display
>>> display = Display(visible=0, size=(1024, 768)).start()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/dist-packages/pyvirtualdisplay/display.py", line 38, in __init__
**kwargs)
File "/usr/local/lib/python3.6/dist-packages/pyvirtualdisplay/xvfb.py", line 33, in __init__
AbstractDisplay.__init__(self)
File "/usr/local/lib/python3.6/dist-packages/pyvirtualdisplay/abstractdisplay.py", line 33, in __init__
self.display = self.search_for_display()
File "/usr/local/lib/python3.6/dist-packages/pyvirtualdisplay/abstractdisplay.py", line 66, in search_for_display
ls = [int(x.split('X')[1].split('-')[0]) for x in self.lock_files()]
File "/usr/local/lib/python3.6/dist-packages/pyvirtualdisplay/abstractdisplay.py", line 66, in <listcomp>
ls = [int(x.split('X')[1].split('-')[0]) for x in self.lock_files()]
ValueError: invalid literal for int() with base 10: 'O'
我安装了Xvfb:
apt-get install xvfb
我无法弄清楚为什么会这样。我使用的是Python3.6,Ubuntu 16.04。我需要使用Selenium运行一些Scrapy脚本并且--headless
模式不合适所以这似乎是唯一的选择:
display = Display(visible=0, size=(800, 800))
display.start()
driver = webdriver.Chrome()
driver.get('https://google.com')
有任何其他建议或任何其他帮助吗?