Как открыть URL-адрес через назначенный браузер по умолчанию в python-3?

Итак, я пишу программу с python-3.9, которая должна открывать назначенный браузер по умолчанию в Windows. Проблема в том, что каждый раз, когда я запускаю программу, она всегда открывает окно Internet Explorer, а не назначенный по умолчанию браузер. Я использую библиотеку webbrowser, и мой код выглядит следующим образом:

import webbrowser

browser = webbrowser.get('windows-default')
browser.open_new(link)

Переменная link содержит адрес сайта, который я хочу открыть. Согласно документации веб-браузера, приведенный выше код должен открыть браузер Windows по умолчанию, но он ничего не делает, когда я запускаю его. Я также попытался изменить 'windows-default' на 'chrome' или 'google-chrome', который должен был открыть Google Chrome, но он просто возвращает эту ошибку:

webbrowser.Error: could not locate runnable browser

Я изменил свой код на webbrowser.open_new(link), и он открывает URL-адрес в Internet Explorer, но кто будет охотно использовать IE в наши дни? Я также пробовал это решение почти из 10 лет назад, так как это было единственное доступное решение, которое я смог найти, но оно все еще не работает.


person Xim_Vyge    schedule 23.02.2021    source источник


Ответы (1)


Вы пробовали webbrowser.get() вместо webbrowser.get('windows-default')? Согласно документам, это должно вернуть браузер по умолчанию.

import webbrowser

browser = webbrowser.get()
browser.open_new(link)
person Holden Rohrer    schedule 23.02.2021
comment
Ага. Я уже пробовал, и ничего не получается. Терминал говорит, что выполняет свою работу, но ничего не происходит. - person Xim_Vyge; 23.02.2021
comment
Что он перечисляет для результата webbrowser.get()? Кроме того, для решения, которое вы связали, вы пробовали расположение двоичного файла Chrome в своей системе, верно? - person Holden Rohrer; 23.02.2021
comment
Да, я пробовал. На самом деле я использую код как часть функции, вызываемой при нажатии кнопки. Когда я нажимаю на нее, в окне «Выполнить» нет ответа. Ошибок тоже нет, но ничего не происходит. - person Xim_Vyge; 23.02.2021