【发布时间】:2017-03-20 21:25:34
【问题描述】:
我在 centos 上安装了 Firefox 和 Selenium。我正在使用 Xvfb 和 pyvirtualdisplay 打开浏览器。
当我尝试运行 selenium webdriver 时,我可以打开一个新的显示,但只要我这样做了
browser = webdriver.Firefox()
我得到错误:
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 134, in __init__
self.service = Service(executable_path, log_path=log_path)
File "/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/service.py", line 45, in __init__
log_file = open(log_path, "a+")
IOError: [Errno 13] Permission denied: 'geckodriver.log'
关于这里出了什么问题的任何线索?
编辑:克服权限错误后,我得到了
Message: 'geckodriver' executable needs to be in PATH
【问题讨论】:
-
运行脚本的用户是否有权在脚本路径中创建文件'geckodriver.log'?
-
好吧,你显然不应该写入这个日志文件,因为它已经被另一个在你的 PC 上运行的进程打开了(让我猜测它是你自己的 Python 程序,同时使用 selenium)。
-
@IvanChaer :好吧,我以超级用户身份登录,并且我也使用“sudo”安装了 Selenium。我在 python shell 中运行命令,脚本请求 webdriver 的权限。
-
@barakmanos :我在 python shell 中运行命令,当时没有运行其他任何东西。日志文件不是我的,而是通过 webdriver 访问的。
-
显然这可能来自您的 Firefox 和您的 selenium 之间的不兼容。尝试
sudo pip install --upgrade selenium,如果错误仍然存在,请尝试降级您的壁虎驱动程序。