当我尝试在Python上使用Selenium安装Firefox扩展时,我尝试安装大约50%的扩展会收到IOError: [Errno 13] Permission denied
错误。例如,当我尝试使用以下命令安装最新版本的firebug时:
firefox_profile.add_extension(working_director + "\\firebug-2.0.11-fx.xpi")
我收到错误:
File "C:\Python27\lib\site-packages\selenium\webdriver\firefox\firefox_profile.py", line 265, in _install_extension
with open(os.path.join(tmpdir, name), 'wb') as f:
IOError: [Errno 13] Permission denied: 'c:\\users\\USERNAME\\appdata\\local\\temp\\tmpxu73xr.firebug-2.0.11-fx.xpi\\content/firebug/'
(n.b。对于firebug的2.0.9版本不会发生这种情况,这很好)
我在尝试安装quickjava(quickjava-2.0.6-fx)和imageblock(imageblock-2.1-fx)时遇到类似的错误。我怀疑错误源自/
,它位于安装路径的末尾(而不是其他地方的\\
),即...temp\\tmpxu73xr.firebug-2.0.11-fx.xpi\\content/firebug/
。
无法理解为什么我的某些扩展没有问题。寻找那些不起作用的解决方法。作为参考,我在Windows上使用Firefox 39和Selenium 2.46.0
答案 0 :(得分:3)
感谢@sandwich Heat最初发布部分答案(在他/她或其他人删除之前) - 这是Salenium的一个错误 - https://github.com/SeleniumHQ/selenium/issues/734
此问题已在github页面https://github.com/SeleniumHQ/selenium/blob/master/py/selenium/webdriver/firefox/firefox_profile.py上修复,但截至目前尚未发布Selenium(2.46.0)的稳定版本
因此我通过将文件firefox_profile.py
替换为Github上的文件解决了我的问题。