2016-06-20 1 views
4

Я видел несколько вопросов, связанных с этим, но у меня все еще есть проблемы.Откройте файл HTML с Python, используя Firefox, когда Firefox не является браузером по умолчанию

Запуск кода:

>>>webbrowser.get('firefox')

ошибки с:

webbrowser.Error: could not locate runnable browser

Для устранения я побежал:

>>>print(webbrowser._browser)

{'windows-default': [<class 'webbrowser.WindowsDefault'>, None], 'c:\\program files\\internet explorer\\iexplorer.exe': [None, <webbrowser.BackgroundBrowser object at 0x000000000651FEB8>]}

Странно, что у меня установлен Firefox, это мой браузер по умолчанию, а файл HTML, который я пытаюсь открыть через Python, открывается с помощью Firefox.

Все было бы правильно с миром, за исключением того, что мне нужно отправить эту программу людям, которые, вероятно, установили IE в качестве их Windows по умолчанию, а файл HTML должен быть открыт в Firefox.

+1

Вы можете установить селен и сделать webdriver.Firefox() –

ответ

1

Все было бы правильно с миром, за исключением того, что мне нужно отправить эту программу людям, которые, вероятно, установили IE в качестве их Windows по умолчанию, а файл HTML должен быть открыт в Firefox.

Один из способов решить эту проблему является использование seleniumавтоматизации браузера пакет. Вы можете open local HTML files с этим, а также:

from selenium import webdriver 

driver = webdriver.Firefox() 
driver.get("file:///D:/folder/abcd.html") 
+0

Я попробую. Усложняя проблемы немного больше, все пользователи находятся в сети компании с базовой установкой Python 3.5. Есть ли у вас какие-либо предложения при использовании стандартной библиотеки? –

+0

@ RussellB. 'selenium', вероятно, был бы самым надежным вариантом. Но вы можете открывать браузеры в пользовательских дорожках с помощью 'webbrowser' - пример для chrome: http://stackoverflow.com/questions/22445217/python-webbrowser-open-to-open-chrome-browser. Также см. Http://stackoverflow.com/questions/5916270/pythons-webbrowser-launches-ie-instead-of-default-on-windows-7. – alecxe

+0

@ RussellB. 'virtualenv' – JakeD

1

Добавить %s в конце пути, чтобы открыть его в Firefox.

webbrowser.get('C:/Program Files (x86)/Mozilla Firefox/firefox.exe %s')