webbrowser — Удобный контроллер веб-браузера
Исходный код: Lib/webbrowser.py
Модуль webbrowser предоставляет высокоуровневый интерфейс для отображения веб-документов пользователям. В большинстве случаев, просто вызов функции open() из этого модуля сделает все правильно.
В Unix графические браузеры предпочтительны под X11, но браузеры текстового режима будут использоваться, если графические браузеры недоступны или не доступен дисплей X11. Если используются браузеры текстового режима, процесс вызова будет блокироваться до выхода пользователя из браузера.
Если переменная окружения BROWSER существует, она интерпретируется для переопределения списка платформ браузеров по умолчанию, как список браузеров, разделитель os.pathsep, для попыток запуска. Когда значение части списка содержит строку %s, она интерпретируется как строковая команда браузера, которая будет использоваться с аргументом URL, подставленным вместо %s; если часть не содержит %s, она просто интерпретируется как имя браузера для запуска.
Для платформ, отличных от Unix, или когда доступен удалённый браузер в Unix, управляющий процесс не будет ждать завершения работы пользователя с браузером, а позволит удалённому браузеру поддерживать свои окна на дисплее. Если удалённые браузеры недоступны в Unix, управляющий процесс запустит новый браузер и подождёт.
Скрипт webbrowser может быть использован в качестве командной строки для модуля. Он принимает URL в качестве аргумента. Он принимает следующие необязательные параметры: -n открывает URL в новом окне браузера, если это возможно; -t открывает URL в новой странице браузера («вкладке»). Эти параметры, естественно, взаимоисключающие. Пример использования:
python -m webbrowser -t "http://www.python.org"
Определяется следующее исключение:
-
exception webbrowser.Error -
Исключение, генерируемое при ошибке управления браузером.
Определены следующие функции:
-
webbrowser.open(url, new=0, autoraise=True) -
Отобразить url с помощью браузера по умолчанию. Если new равно 0, url открывается в том же окне браузера, если это возможно. Если new равно 1, открывается новое окно браузера, если это возможно. Если new равно 2, открывается новая страница браузера («вкладка»), если это возможно. Если autoraise равно
True, окно поднимается, если это возможно (обратите внимание, что на многих менеджерах окон это произойдёт независимо от значения этой переменной).Обратите внимание, что на некоторых платформах попытка открыть имя файла с помощью этой функции может сработать и запустить связанную программу операционной системы. Однако это не поддерживается и не является переносимым.
Изменено в версии 2.5: new теперь может быть 2.
-
webbrowser.open_new(url) -
Открыть url в новом окне браузера по умолчанию, если возможно; в противном случае открыть url в единственном окне браузера.
-
webbrowser.open_new_tab(url) -
Открыть url в новой странице («вкладке») браузера по умолчанию, если возможно; в противном случае эквивалентно
open_new().Добавлена в версии 2.5.
-
webbrowser.get([name]) -
Возвращает объект контроллера для типа браузера name. Если name пустое, возвращает контроллер для браузера по умолчанию, соответствующий среде вызывающего.
-
webbrowser.register(name, constructor[, instance]) -
Регистрирует тип браузера name. После регистрации типа браузера функция
get()может вернуть контроллер для этого типа браузера. Если instance не указан или равенNone, constructor будет вызван без параметров для создания экземпляра при необходимости. Если instance указан, constructor никогда не будет вызван и может бытьNone.Эта точка входа полезна только если вы планируете установить переменную
BROWSERили вызватьget()с ненулевым аргументом, соответствующим имени обработчика, который вы объявляете.
Несколько типов браузеров предопределены. Эта таблица показывает имена типов, которые могут быть переданы функции get(), и соответствующие экземпляры для классов контроллеров, все определены в этом модуле.
Имя типа | Имя класса | Примечания |
|---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| (1) |
|
| (1) |
|
| (1) |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| (2) |
|
| (3) |
|
| (3) |
|
| (4) |
|
| (4) |
|
| (4) |
|
| (4) |
Примечания:
- “Konqueror” — менеджер файлов для среды рабочего стола KDE для Unix, и имеет смысл использовать только если KDE запущен. Было бы неплохо иметь надежный способ обнаружения KDE; переменная
KDEDIRнедостаточна. Также обратите внимание, что имя «kfm» используется даже при использовании команды konqueror с KDE 2 — реализация выбирает лучшую стратегию для запуска Konqueror. - Только на платформах Windows.
- Только на платформе Mac OS X.
- Поддержка Chrome/Chromium добавлена в версии 2.7.5.
Вот несколько простых примеров:
url = 'http://www.python.org/' # Open URL in a new tab, if a browser window is already open. webbrowser.open_new_tab(url + 'doc/') # Open URL in new window, raising the window if possible. webbrowser.open_new(url)
1. Объекты контроллеров браузера
Контроллеры браузеров предоставляют эти методы, аналогичные трём функциям удобства уровня модуля:
-
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().Добавлена в версии 2.5.
Примечания
-
1 -
Исполнимые файлы, указанные здесь без полного пути, будут искаться в каталогах, указанных в переменной окружения
PATH.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/webbrowser.html