Как открыть сайт в браузере из скрипта Python

Чтобы открыть сайт в браузере по умолчанию (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()

Как открыть сайт в браузере из скрипта Python

О модуле 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.