«Исключение: расширение не найдено в None» при попытке использовать Selenium Firefox WebDriver на Mac - PullRequest
2 голосов
/ 18 апреля 2010

Есть идеи?

In [1]: from selenium.firefox.webdriver import WebDriver

In [2]: d=WebDriver()
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)

/usr/local/selenium-read-only/<ipython console> in <module>()

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/selenium-2.0_dev-py2.6.egg/selenium/firefox/webdriver.pyc in __init__(self, profile, timeout)
     48             profile = FirefoxProfile(name=profile)
     49         if not profile:
---> 50             profile = FirefoxProfile()
     51         self.browser.launch_browser(profile)
     52         RemoteWebDriver.__init__(self,

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/selenium-2.0_dev-py2.6.egg/selenium/firefox/firefox_profile.pyc in __init__(self, name, port, template_profile, extension_path)
     72 
     73         if name == ANONYMOUS_PROFILE_NAME:
---> 74             self._create_anonymous_profile(template_profile)
     75             self._refresh_ini()
     76         else:

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/selenium-2.0_dev-py2.6.egg/selenium/firefox/firefox_profile.pyc in _create_anonymous_profile(self, template_profile)
     82             self._copy_profile_source(template_profile)
     83         self._update_user_preference()
---> 84         self.add_extension(extension_zip_path=self.extension_path)
     85         self._launch_in_silent()
     86 

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/selenium-2.0_dev-py2.6.egg/selenium/firefox/firefox_profile.pyc in add_extension(self, force_create, extension_zip_path)
    152                 not os.path.exists(extension_source_path)):
    153                 raise Exception(
--> 154                     "No extension found at %s" % extension_source_path)
    155 
    156             logging.debug("extension_source_path : %s" % extension_source_path)

Exception: No extension found at None

Ответы [ 3 ]

1 голос
/ 22 апреля 2010

ОК, я решил это, обнаружив, что virtualenv, который я установил через macports, «отсутствует»,

sudo ln -s `which virtualenv-2.6` /opt/local/bin/virtualenv 

затем запускается rake firefox и, наконец, rake firefox_xpi ...

1 голос
/ 22 апреля 2010

Хорошо, я преодолел это исключение, вручную создав файл webdriver-extension.zip и скопировав его в папку selenium/firefox в моей папке site-packages.

Все, что следует, предполагает, что вы получили копию исходного кода с http://selenium.googlecode.com/svn/trunk/ (с использованием subversion / svn)

Если у вас установлен Ruby, вы можете запустить rake firefox (это Ruby make), и именно так вы и должны собирать zip-файл. Так как у меня не установлен ruby, я просто посмотрел на /Rakefile и выяснил, что должно быть в zip.

В основном вам просто нужно добавить все в папку /firefox/src/extension/. На окнах я также добавил /firefox/prebuilt/Win32/Release/webdriver-firefox.dll, но я не уверен, что мне это нужно. (В Linux вам может понадобиться добавить соответствующий файл .so).

0 голосов
/ 03 октября 2012

что делает следующий код?

from selenium.firefox.webdriver import WebDriver
d = WebDriver()

правильный импорт веб-драйвера и создание экземпляра Firefox выглядит следующим образом:

from selenium import webdriver
d = webdriver.Firefox()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...