Чтобы открыть сайт в браузере по умолчанию (Windows, macOS, Linux) из скрипта Python, нужно использовать команду webbrowser.open('https://ya.ru')
чтобы открыть Яндекс. Не забудьте импортировать модуль webbrowser (import webbrowser
). Устанавливать ничего не нужно, т.к. этот модуль уже присутствует в стандартной библиотеке Python.
Пример
Вот пример скрипта Python, который открывает следующий сайт https://mmazurenko.com
import webbrowser webbrowser.open('https://mmazurenko.com')
Новая вкладка вашего браузера по умолчанию (Chrome, Edge, Safari, FireFox — любой который установите в ОС по умолчанию) откроется отправленная аргументом функции webbrowser.open()
О модуле Webbrowser
Модуль Webbrowser это часть стандартной библиотеки Python, поэтому можно импортировать его без необходимости что-либо устанавливать дополнительно.
Также можно запустить модуль из командной строки или терминала следующей строкой:
python -m webbrowser -t "https://mmazurenko.com"
Это пригодится когда вдруг понадобится открыть сайт из командной строки ОС или из терминала (Windows, macOS, Linux). Это делает использование Python переносимым и независимым от операционной системы.
Webbrowser open()
Можно задать дополнительные аргументы, чтобы получить больше контроля над тем какая вкладка открывается с помощью нового аргумента функции webbrowser.open()
.
webbrowser.open(url, new=0, autoraise=True)
Аргумент new
позволяет контролировать окно браузера:
- Если задать
new=0
(значение по умолчанию), откроется URL в том же окне браузера. - Если задать
new=1
, откроется новое окно браузера. - Если задать
new=2
, откроется новая вкладка браузера.
Webbrowser Open in New Tab
Простой способ открыть URL в новой вкладке из Python скрипта вызвав webbrowser.open_new_tab()
и передать строку с адресом в качестве единственного аргумента.
import webbrowser my_url = 'http://mmazurenko.com' webbrowser.open_new_tab(my_url)
Выбор браузера
Можно также передать объекту контроллера заданный браузер вызвав функцию webbrowser.get()
и передав в неё тип браузера. Теперь можно вызвать open()
или open_new_tab()
методы объекта контроллера чтобы открыть URL в определённом браузере.
import webbrowser webbrowser.get("firefox").open("http://mmazurenko.com")
Вот поддерживаемые типы браузеров:
Имя типа | Имя класса |
‘mozilla’ | Mozilla(‘mozilla’) |
‘firefox’ | Mozilla(‘mozilla’) |
‘netscape’ | Mozilla(‘netscape’) |
‘galeon’ | Galeon(‘galeon’) |
‘epiphany’ | Galeon(‘epiphany’) |
‘skipstone’ | BackgroundBrowser(‘skipstone’) |
‘kfmclient’ | Konqueror() |
‘konqueror’ | Konqueror() |
‘kfm’ | Konqueror() |
‘mosaic’ | BackgroundBrowser(‘mosaic’) |
‘opera’ | Opera() |
‘grail’ | Grail() |
‘links’ | GenericBrowser(‘links’) |
‘elinks’ | Elinks(‘elinks’) |
‘lynx’ | GenericBrowser(‘lynx’) |
‘w3m’ | GenericBrowser(‘w3m’) |
‘windows-default’ | WindowsDefault |
‘macosx’ | MacOSXOSAScript(‘default’) |
‘safari’ | MacOSXOSAScript(‘safari’) |
‘google-chrome’ | Chrome(‘google-chrome’) |
‘chrome’ | Chrome(‘chrome’) |
‘chromium’ | Chromium(‘chromium’) |
‘chromium-browser’ | Chromium(‘chromium-browser’) |
Следует добавить, что если интерпретатор Python не найдет выбранный браузер, то скрипт завершится ошибкой: webbrowser.Error: could not locate runnable browser
.
Таким простым способом, можно открыть сайт в браузере из скрипта Python.
P.S. У меня почему-то вариант с выбором браузера работает только при запуске через IDLE (Python). Запуск по двойному клику по скрипту не срабатывает (Windows 10). Хотя простой запуск без выбора браузера работает.
Читайте также другие статьи о Python.