Документация Python неофициальный перевод

webbrowser.md

187 строк · 11.0 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.0/library/webbrowser.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `webbrowser` – Удобный контроллер веб-браузера89Модуль `webbrowser` предоставляет высокоуровневый интерфейс для отображения веб-документов пользователям. В большинстве случаев достаточно просто вызвать функцию [`open()`](https://python-all.ru/3.0/library/functions.html#open) из этого модуля, и всё будет работать правильно.1011В Unix под X11 предпочтение отдаётся графическим браузерам, но если они недоступны или отсутствует X11-дисплей, будут использоваться текстовые браузеры. При использовании текстовых браузеров вызывающий процесс будет заблокирован до тех пор, пока пользователь не закроет браузер.1213Если существует переменная окружения **BROWSER**, она интерпретируется как переопределение списка браузеров по умолчанию для платформы, представленного в виде разделённого os.pathsep списка браузеров, которые перебираются по порядку. Когда значение элемента списка содержит строку `%s`, то оно интерпретируется как буквальная командная строка браузера, в которой аргумент URL подставляется вместо `%s`; если элемент не содержит `%s`, то он просто интерпретируется как имя запускаемого браузера.1415На платформах, отличных от Unix, или когда в Unix доступен удалённый браузер, управляющий процесс не будет ждать, пока пользователь закончит работу с браузером, а позволит удалённому браузеру поддерживать свои собственные окна на дисплее. Если удалённые браузеры недоступны в Unix, управляющий процесс запустит новый браузер и будет ждать.1617Скрипт **webbrowser** можно использовать как интерфейс командной строки для модуля. Он принимает URL в качестве аргумента. Он принимает следующие необязательные параметры: *-n* открывает URL в новом окне браузера, если это возможно; *-t* открывает URL в новой вкладке браузера («tab»). Эти параметры, естественно, являются взаимоисключающими.1819Определено следующее исключение:2021#### `[webbrowser.Error]exception webbrowser.Error`2223Исключение, возникающее при ошибке управления браузером.2425Определены следующие функции:2627#### `[webbrowser.open]webbrowser.open(url[, new=0[, autoraise=1]])`2829Отображает3031*url*3233, используя браузер по умолчанию. Если3435*new*3637равно 0,3839*url*4041открывается в том же окне браузера, если это возможно. Если4243*new*4445равно 1, открывается новое окно браузера, если это возможно. Если4647*new*4849равно 2, открывается новая вкладка браузера («tab»), если это возможно. Если5051*autoraise*5253истинно, окно выводится на передний план, если это возможно (обратите внимание, что многие менеджеры окон делают это независимо от значения этой переменной).5455#### `[webbrowser.open_new]webbrowser.open_new(url)`5657Открывает5859*url*6061в новом окне браузера по умолчанию, если это возможно, в противном случае открывает6263*url*6465в единственном окне браузера.6667#### `[webbrowser.open_new_tab]webbrowser.open_new_tab(url)`6869Открывает7071*url*7273на новой странице («вкладке») браузера по умолчанию, если возможно; в противном случае эквивалентно7475[`open_new()`](https://python-all.ru/3.0/library/webbrowser.html#webbrowser.open_new)7677.7879#### `[webbrowser.get]webbrowser.get([name])`8081Возвращает объект контроллера для типа браузера8283*name*8485. Если8687*name*8889пуст, возвращает контроллер для браузера по умолчанию, подходящего для окружения вызывающего кода.9091#### `[webbrowser.register]webbrowser.register(name, constructor[, instance])`9293Регистрирует тип браузера *name*. После регистрации типа браузера функция [`get()`](https://python-all.ru/3.0/library/webbrowser.html#webbrowser.get) может возвращать контроллер для этого типа. Если *instance* не указан или равен `None`, *constructor* будет вызван без параметров для создания экземпляра при необходимости. Если *instance* указан, *constructor* никогда не будет вызван и может быть `None`.9495Эта точка входа полезна только если предполагается либо установить переменную **BROWSER**, либо вызвать [`get()`](https://python-all.ru/3.0/library/webbrowser.html#webbrowser.get) с непустым аргументом, соответствующим имени объявленного обработчика.9697Ряд типов браузеров предопределены. В этой таблице приведены имена типов, которые могут быть переданы функции [`get()`](https://python-all.ru/3.0/library/webbrowser.html#webbrowser.get), и соответствующие экземпляры классов контроллеров, все определённые в этом модуле.9899| Имя типа | Имя класса | Примечания |100| --- | --- | --- |101| `'mozilla'` | `Mozilla('mozilla')` |  |102| `'firefox'` | `Mozilla('mozilla')` |  |103| `'netscape'` | `Mozilla('netscape')` |  |104| `'galeon'` | `Galeon('galeon')` |  |105| `'epiphany'` | `Galeon('epiphany')` |  |106| `'skipstone'` | `BackgroundBrowser('skipstone')` |  |107| `'kfmclient'` | `Konqueror()` | (1) |108| `'konqueror'` | `Konqueror()` | (1) |109| `'kfm'` | `Konqueror()` | (1) |110| `'mosaic'` | `BackgroundBrowser('mosaic')` |  |111| `'opera'` | `Opera()` |  |112| `'grail'` | `Grail()` |  |113| `'links'` | `GenericBrowser('links')` |  |114| `'elinks'` | `Elinks('elinks')` |  |115| `'lynx'` | `GenericBrowser('lynx')` |  |116| `'w3m'` | `GenericBrowser('w3m')` |  |117| `'windows-default'` | `WindowsDefault` | (2) |118| `'internet-config'` | `InternetConfig` | (3) |119| `'macosx'` | `MacOSX('default')` | (4) |120121Примечания:1221231. «Konqueror» – это файловый менеджер для окружения рабочего стола KDE в Unix, и его имеет смысл использовать только при работающем KDE. Было бы неплохо иметь надёжный способ обнаружения KDE; переменная **KDEDIR** для этого недостаточна. Обратите также внимание, что имя «kfm» используется даже при запуске команды **konqueror** с KDE 2 – реализация выбирает наилучшую стратегию для запуска Konqueror.1242. Только на платформах Windows.1253. Только на платформах Mac OS; требуется стандартный модуль MacPython `ic`.1264. Только на платформе Mac OS X.127128Вот несколько простых примеров:129130```python131url = 'http://www.python.org'132133# Открыть URL в новой вкладке, если окно браузера уже открыто.134webbrowser.open_new_tab(url + '/doc')135136# Открыть URL в новом окне, по возможности поднимая окно на передний план.137webbrowser.open_new(url)138```139140## Объекты контроллера браузера141142Контроллеры браузера предоставляют методы, являющиеся аналогами двух вспомогательных функций уровня модуля:143144#### `[webbrowser.controller.open]controller.open(url[, new[, autoraise=1]])`145146Отображает147148*url*149150с использованием браузера, управляемого этим контроллером. Если151152*new*153154равно 1, открывается новое окно браузера, если это возможно. Если155156*new*157158равно 2, открывается новая страница браузера («вкладка»), если это возможно.159160#### `[webbrowser.controller.open_new]controller.open_new(url)`161162Открывает163164*url*165166в новом окне браузера, управляемого этим контроллером, если это возможно; в противном случае открывает167168*url*169170в единственном окне браузера. Псевдоним171172[`open_new()`](https://python-all.ru/3.0/library/webbrowser.html#webbrowser.open_new)173174.175176#### `[webbrowser.controller.open_new_tab]controller.open_new_tab(url)`177178Открывает179180*url*181182на новой странице (вкладке) браузера, управляемого этим контроллером, если это возможно; в противном случае эквивалентно183184[`open_new()`](https://python-all.ru/3.0/library/webbrowser.html#webbrowser.open_new)185186.187