Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 4, 2015 20:31:10

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

selenium + дополнения

Может кто сталкивался. Подключаю adblocksplus:

profile = webdriver.FirefoxProfile()
profile.add_extension(extension=r"/home/adblockplusfirefox.xpi")
profile.update_preferences()
Все подключается, плагин в браузере активен. Но ничего не блокирует.
При обычном запуске firefox все отрабатывает как надо.

Офлайн

#2 Янв. 6, 2015 20:48:08

theproshin
Зарегистрирован: 2014-06-30
Сообщения: 7
Репутация: +  1  -
Профиль   Отправить e-mail  

selenium + дополнения

Нужно запусать фф с заранее созданным профилем. Создается по-моему так, firefox.exe -P.
Подключаешь блокировщик, настраиваешь правила.
И когда запускаешь инстанс браузера, указываешь путь к папке с профилем.

Офлайн

#3 Янв. 6, 2015 22:01:30

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

selenium + дополнения

Так не катит. Есть несколько процессов с разными профилями. Плюс в профиле будут сохраняться куки, кэш и т.д. Все это нужно каждый раз затирать. Меня устраивает adblocks с настройками по умолчанию.
Еще проблема с другим дополнением.
При попытке установки средствами селениум вот так:

    profile.add_extension('/home/ext.xpi')
  File "/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 92, in add_extension
    self._install_extension(extension)
  File "/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 269, in _install_extension
    addon_details = self._addon_details(addon)
  File "/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 374, in _addon_details
    raise AddonFormatError('Add-on id could not be found.')
selenium.webdriver.firefox.firefox_profile.AddonFormatError: Add-on id could not be found.
Стандартно это дополнение устанавливается и работает без проблем.

Отредактировано gelius (Янв. 6, 2015 22:10:03)

Офлайн

#4 Янв. 6, 2015 22:26:00

theproshin
Зарегистрирован: 2014-06-30
Сообщения: 7
Репутация: +  1  -
Профиль   Отправить e-mail  

selenium + дополнения

Возможно, ты не правильно передаешь параметр. При вызове метода, он должен быть именованным.

from selenium import webdriver
fp = webdriver.FirefoxProfile()
fp.add_extension(extension='firebug-1.8.4.xpi')
fp.set_preference("extensions.firebug.currentVersion", "1.8.4") #Avoid startup screen
browser = webdriver.Firefox(firefox_profile=fp)

Обычно, когда у меня возникают вопросы насчет селена, я обращаюсь сюда - selenium-python.readthedocs.org

Офлайн

#5 Янв. 7, 2015 19:27:54

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

selenium + дополнения

theproshin
Обычно, когда у меня возникают вопросы насчет селена, я обращаюсь сюда - selenium-python.readthedocs.org
Да, я делал так. Гуглю эту тему уже несколько дней. По моему все варианты перепробовал.
Смотрел в х-сах. adblocks при отработке скрипта установлен и активен. Сначала открывается страница самого adblocksplus, потом идет выполнение скрипта. Но ничего не блокируется.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version