2015-07-28 58 views
1

我正在用selenium webdriver创建一个python脚本。我需要使用在Firefox的扩展,但是当我用小脚本测试,该脚本会产生这样的错误:权限在WebDriver中加载Firefox扩展时被拒绝

Traceback (most recent call last): 
    File "C:\Users\User\Desktop\Bot\Mania.py", line 8, in <module> 
    firefoxProfile.add_extension(elem) 
    File "C:\Python34\lib\site-packages\selenium\webdriver\firefox\firefox_profile.py", line 93, in add_extension 
    self._install_extension(extension) 
    File "C:\Python34\lib\site-packages\selenium\webdriver\firefox\firefox_profile.py", line 264, in _install_extension 
    with open(os.path.join(tmpdir, name), 'wb') as f: 
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\User\\AppData\\Local\\Temp\\tmpzq3rmztk.firebug-2.0.11-fx.xpi\\content/firebug/' 
[Finished in 0.4s with exit code 1] 

示例代码是:

from selenium import webdriver 
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile 
import os 

firefoxProfile = FirefoxProfile() 
elem = "quickjava-2.0.6-fx.xpi" 
firefoxProfile.add_extension(elem) 
firefoxProfile.set_preference("thatoneguydotnet.QuickJava.startupStatus.CSS", 2) 
driver = webdriver.Firefox(firefoxProfile) 
driver.get('http://www.google.cl') 

PS:该插件-on与脚本位于同一文件夹中。我测试了完整路径,但它不起作用。

回答

2

您需要提供扩展的绝对路径:

firefoxProfile.add_extension("/absolute/path/to/the/extension")