Selenium, как запустить Firefox с аддонами? - PullRequest
5 голосов
/ 20 сентября 2011

Я хочу загрузить Firefox Addon RequestPolicy. Вот как я это попробовал:

rp = open(wd + "/requestpolicy.xpi")
firefoxProfile = FirefoxProfile()
firefoxProfile.add_extension(rp)

self.driver = webdriver.Firefox(firefoxProfile)

self.usr = user.User(self.driver, username, password, world)
self.usr.login()

Нет ошибок, в соответствии с Документами должно работать, но не работает, все равно начинается без аддона.

Следующая вещь, которую я попробовал, это назвать так:

self.driver = webdriver.Firefox(browser_profile=firefoxProfile)

Выход:

TypeError: __init__() got an unexpected keyword argument 'browser_profile'

Но это аспект Python, о котором я не знаю много. Я понял эту идею, потому что источник выглядит так.

Ответы [ 3 ]

6 голосов
/ 28 сентября 2011

Мне не хватает Stackoverflow rep , чтобы оставить комментарий к вашему вопросу, и, к сожалению, я не знаю ответа на ваш вопрос, но для чего это стоит, вам нужно позвонить webdriver.Firefox()с firefox_profile , а не browser_profile , как вы сделали.

См. также: http://code.google.com/p/selenium/source/browse/trunk/py/selenium/webdriver/firefox/webdriver.py#33

3 голосов
/ 10 января 2017

что я делал и работал было:

profile=webdriver.FirefoxProfile()
profile.add_extension("/home/.../.mozilla/firefox/zrdb9ki8.default/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}.xpi") # for adblockplus

profile.set_preference("extensions.adblockplus.currentVersion", "2.8.2")
Fox = webdriver.Firefox(profile)
Fox.get(website_Url) #https://.....
1 голос
/ 03 сентября 2014

Кроме того, вы не должны открывать файл xpi напрямую.Вместо этого попробуйте просто дать адрес:

firefoxProfile.add_extension(wd + "/requestpolicy.xpi")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...