Spec-Zone.ru › Python 3.12

webbrowser — Удобный контроллер веб-браузера

Исходный код: Lib/webbrowser.py

Модуль webbrowser предоставляет высокоуровневый интерфейс для отображения веб-документов пользователю. В большинстве случаев, просто вызов функции open() из этого модуля будет делать все правильно.

В Unix-системах графические браузеры предпочтительны в X11, но будут использованы браузеры текстового режима, если графические браузеры недоступны или дисплей X11 отсутствует. Если используются браузеры текстового режима, процесс вызова будет ожидать, пока пользователь не закроет браузер.

Если переменная среды BROWSER существует, она интерпретируется как список браузеров, разделенных os.pathsep, которые будут проверены перед использованием платформенных значений по умолчанию. Когда значение части списка содержит строку %s, она интерпретируется как буквальная командная строка браузера, в которой аргумент URL подставляется вместо %s; если часть не содержит %s, она просто интерпретируется как имя браузера для запуска. [1]

Для платформ, отличных от Unix, или когда доступен удалённый браузер в Unix-системе, управляющий процесс не будет ждать завершения работы пользователя с браузером, а позволит удалённому браузеру управлять своими окнами на экране. Если удалённые браузеры недоступны в Unix-системе, управляющий процесс запустит новый браузер и будет ждать.

Скрипт webbrowser может использоваться в качестве командной строки для модуля. Он принимает URL в качестве аргумента. Он принимает следующие необязательные параметры: -n открывает URL в новом окне браузера, если это возможно; -t открывает URL в новой странице браузера («вкладке»). Опции, естественно, взаимно исключают друг друга. Пример использования:

python -m webbrowser -t "https://www.python.org"

Доступность: не Emscripten, не WASI.

Этот модуль не работает или недоступен на платформах WebAssembly wasm32-emscripten и wasm32-wasi. См. Платформы WebAssembly для получения дополнительной информации.

Определяется следующее исключение:

exception webbrowser.Error

Исключение, которое генерируется при возникновении ошибки управления браузером.

Определены следующие функции:

webbrowser.open(url, new=0, autoraise=True)

Отображает url с помощью браузера по умолчанию. Если new равно 0, url открывается в том же окне браузера, если это возможно. Если new равно 1, открывается новое окно браузера, если это возможно. Если new равно 2, открывается новая страница браузера («вкладка»), если это возможно. Если autoraise равно True, окно поднимается, если это возможно (обратите внимание, что во многих менеджерах окон это произойдёт независимо от настройки этой переменной).

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

Вызывает событие аудита аудита webbrowser.open с аргументом url.

webbrowser.open_new(url)

Открывает url в новом окне браузера по умолчанию, если возможно; в противном случае открывает url в единственном окне браузера.

webbrowser.open_new_tab(url)

Открывает url на новой странице («вкладке») браузера по умолчанию, если это возможно; в противном случае эквивалентно open_new().

webbrowser.get(using=None)

Возвращает объект-контроллер для типа браузера using. Если using равно None, возвращает контроллер для браузера по умолчанию, соответствующего среде вызывающего кода.

webbrowser.register(name, constructor, instance=None, *, preferred=False)

Регистрирует тип браузера name. После регистрации типа браузера функция get() может вернуть контроллер для этого типа браузера. Если instance не предоставлен или равен None, constructor будет вызван без параметров для создания экземпляра при необходимости. Если instance предоставлен, constructor никогда не будет вызван и может быть None.

Установка preferred в True делает этот браузер предпочтительным результатом для вызова get() без аргументов. В противном случае этот входной пункт полезен только в том случае, если вы планируете либо установить переменную BROWSER или вызвать get() с ненулевым аргументом, соответствующим имени обработчика, который вы объявляете.

Изменено в версии 3.7: параметр ключевого слова preferred был добавлен.

Несколько типов браузеров предварительно определены. В этой таблице указаны имена типов, которые могут быть переданы функции get(), и соответствующие экземпляры для классов контроллеров, все определённые в этом модуле.

Имя типа

Имя класса

Примечания

'mozilla'

Mozilla('mozilla')

'firefox'

Mozilla('mozilla')

'epiphany'

Epiphany('epiphany')

'kfmclient'

Konqueror()

(1)

'konqueror'

Konqueror()

(1)

'kfm'

Konqueror()

(1)

'opera'

Opera()

'links'

GenericBrowser('links')

'elinks'

Elinks('elinks')

'lynx'

GenericBrowser('lynx')

'w3m'

GenericBrowser('w3m')

'windows-default'

WindowsDefault

(2)

'macosx'

MacOSXOSAScript('default')

(3)

'safari'

MacOSXOSAScript('safari')

(3)

'google-chrome'

Chrome('google-chrome')

'chrome'

Chrome('chrome')

'chromium'

Chromium('chromium')

'chromium-browser'

Chromium('chromium-browser')

Примечания:

  1. “Konqueror” — это файловый менеджер для среды рабочего стола KDE в Unix и имеет смысл использовать только при запуске KDE. Неплохо было бы иметь надежный способ обнаружения KDE; переменная KDEDIR недостаточна. Обратите также внимание, что имя «kfm» используется даже при использовании команды konqueror с KDE 2 — реализация выбирает лучшую стратегию для запуска Konqueror.
  2. Только на платформах Windows.
  3. Только на платформе macOS.

Добавлено в версии 3.3: Добавлена поддержка Chrome/Chromium.

Изменено в версии 3.12: Поддержка нескольких устаревших браузеров была удалена. Удаленные браузеры включают Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape и Firefox версии 35 и ниже.

Устарело начиная с версии 3.11, будет удалено в версии 3.13: MacOSX устарело, используйте MacOSXOSAScript вместо него.

Вот несколько простых примеров:

url = 'https://docs.python.org/'

# Open URL in a new tab, if a browser window is already open.
webbrowser.open_new_tab(url)

# Open URL in new window, raising the window if possible.
webbrowser.open_new(url)

Объекты управления браузером

Контроллеры браузера предоставляют эти методы, которые аналогичны трём удобным функциям на уровне модуля:

webbrowser.name

Имя браузера, зависящее от системы.

controller.open(url, new=0, autoraise=True)

Отобразить url с помощью браузера, управляемого этим контроллером. Если new равно 1, то по возможности откроется новое окно браузера. Если new равно 2, то по возможности откроется новая страница (“вкладка”) браузера.

controller.open_new(url)

Открыть url в новом окне браузера, управляемого этим контроллером, если возможно, в противном случае открыть url в единственном окне браузера. Псевдоним open_new().

controller.open_new_tab(url)

Открыть url на новой странице (“вкладке”) браузера, управляемого этим контроллером, если возможно, в противном случае эквивалентно open_new().

Примечания

[1]

Исполнимые файлы, указанные без полного пути, будут искаться в каталогах, указанных в переменной среды PATH.

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/webbrowser.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API