【发布时间】:2014-11-12 22:11:21
【问题描述】:
我正在尝试使用 selenium 在 python 的 Django 视图中创建屏幕截图。如果我在 root 下启动 selenium firefox webdriver,它运行良好。但是,当我尝试使用非超级用户运行它时,它会在尝试实例化驱动程序时冻结。 Django 是通过 apache www-data 用户调用的,所以它遇到了这个问题。
有没有办法让 selenium firefox webdriver 以非 root 身份工作?
从全新的 Ubuntu 14.04 安装中,我执行了以下操作
sudo apt-get install python-pip firefox xvfb
pip install selenium pyvirtualdisplay
useradd testuser
然后在 python shell 中:
from selenium import webdriver
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Firefox()
driver.get("http://askubuntu.com")
print driver.page_source.encode('utf-8')
driver.quit()
display.stop()
如果我以 root 身份登录 python,这可以正常工作,如果我使用 testuser 帐户,driver = webdriver.Firefox() 行会失效,没有响应或错误。
我会感谢任何关于为什么会发生这种情况的建议。
【问题讨论】:
标签: python firefox ubuntu selenium webdriver