Рубрики
Без рубрики

webbrowser – отображает веб-страницы

Автор оригинала: Doug Hellmann.

Цель:

Использовать

веб-браузер

модуль для отображения веб-страниц вашим пользователям.

Модуль webbrowser включает функции для открытия URL-адресов в интерактивных браузерных приложениях. Модуль включает в себя реестр доступных браузеров на случай, если в системе доступно несколько опций. Этим также можно управлять с помощью переменной среды BROWSER .

Простой пример

Чтобы открыть страницу в браузере, используйте функцию open () .

webbrowser_open.py

import webbrowser

webbrowser.open(
    'https://docs.python.org/3/library/webbrowser.html'
)

URL-адрес открывается в окне браузера, и это окно поднимается в верхнюю часть стека окон. В документации сказано, что существующее окно будет повторно использовано, если это возможно, но фактическое поведение может зависеть от настроек вашего браузера. При использовании Firefox в Mac OS X всегда создавалось новое окно.

Windows против вкладок

Если вы всегда хотите использовать новое окно, используйте open_new () .

webbrowser_open_new.py

import webbrowser

webbrowser.open_new(
    'https://docs.python.org/3/library/webbrowser.html'
)

Если вы предпочитаете создать новую вкладку, используйте вместо нее open_new_tab () .

Использование определенного браузера

Если по какой-то причине ваше приложение должно использовать определенный браузер, вы можете получить доступ к набору зарегистрированных контроллеров браузера с помощью функции get () . Контроллер браузера имеет методы для open () , open_new () и open_new_tab () . В этом примере принудительно используется браузер lynx:

webbrowser_get.py

import webbrowser

b  webbrowser.get('lynx')
b.open('https://docs.python.org/3/library/webbrowser.html')

Обратитесь к документации модуля за списком доступных типов браузеров.

BROWSER переменная

Пользователи могут управлять модулем извне вашего приложения, задав в переменной среды BROWSER имена браузера или команды, которые нужно попробовать. Значение должно состоять из серии имен браузеров, разделенных os.pathsep . Если имя включает % s , имя интерпретируется как буквальная команда и выполняется непосредственно с заменой % s на URL. В противном случае имя передается в get () для получения объекта контроллера из реестра.

Например, эта команда открывает веб-страницу в lynx, если она доступна, независимо от того, какие другие браузеры зарегистрированы.

$

Если ни одно из имен в BROWSER не работает, webbrowser возвращается к своему поведению по умолчанию.

Интерфейс командной строки

Все функции модуля webbrowser доступны через командную строку, а также из вашей программы Python.

$ python3 -m webbrowser

Usage: .../lib/python3.7/webbrowser.py [-n | -t] url
    -n: open new window
    -t: open new tab

Смотрите также