我已经在centos上安装了Firefox和Selenium。我使用Xvfb和pyvirtualdisplay打开浏览器。
当我尝试运行selenium时,我可以打开一个新的显示,但只要我打开了
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
发布于 2017-08-31 07:14:27
下面的解决方案对我有效。在我的例子中,我是在应用程序中启动我的Notepad++
脚本。我的geckodriver.exe
在路径中,碰巧位于我的C:\Python 27
文件夹中。还提供了通往Firefox的完整路径。Selenium、geckodriver和Firefox都是最新版本的。
原来,geckodriver.log
文件是在这里创建的:
C:\Program Files (x86)\Notepad++\geckodriver.log
我是通过作为管理员运行Notepad++
来发现这一点的。然后,它能够在它想要的地方创建文件。然后,我定位了该文件,并将文件权限更改为Windows上的普通用户帐户的完全访问权限(设置为只读)。
这样做之后,我能够正常运行Notepad++,并且错误消失了。
https://stackoverflow.com/questions/40466809
复制相似问题