Как открыть браузер на пайтоне
Перейти к содержимому

Как открыть браузер на пайтоне

  • автор:

Как открыть браузер на пайтоне

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2023. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

Как открыть веб-браузер в Python

В данном небольшом примере я покажу Вам как можно работать с веб-браузерами в Python, в частности как открыть браузер.

Для того, чтобы открыть веб-браузер в Python можно использовать встроенный модуль webbrowser.

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

webbrowser.open (‘https://myrusakov.ru’, new=2)

Если параметр new равен 0, URL открывается в том же окне браузера, если это возможно. Если new равен 1, открывается новое окно браузера, если это возможно. Если new равно 2, то открывается новая вкладка, если это возможно.

Теперь давайте посмотрим на другой пример. Допустим мы хотим получить от пользователя некотрую строку, которую мы затем, к примеру, отправим на форму поиска. Вот как это можно сделать:

query = input(‘Введите название темы: ‘)
webbrowser.open_new_tab(‘https://myrusakov.ru/search.html?query=%s’ % query)

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

Создано 11.06.2020 13:52:03

  • Михаил Русаков
  • Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2024 Русаков Михаил Юрьевич. Все права защищены.

    Модуль webbrowser в Python, открывает URL в браузере

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

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

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

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

    Модуль webbrowser можно использовать в качестве интерфейса командной строки. Он принимает URL-адрес в качестве аргумента и следующие необязательные параметры:

    • -n : открывает URL-адрес в новом окне браузера, если это возможно;
    • -t : открывает URL-адрес в новой вкладке браузера.

    Варианты, естественно, взаимоисключающие. Пример использования:

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

    Этот модуль не работает или недоступен на платформах WebAssembly wasm32-emscripten и wasm32-wasi.

    Модуль webbrowser определяет одно исключение:

    webbrowser.Error :

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

    Модуль webbrowser определяет следующие функции:

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

    Функция webbrowser.open() отображает URL-адрес (аргумент url ) с помощью браузера по умолчанию.

    Значения аргумента new :

    • new=0 ; URL-адрес, если это возможно, открывается в том же окне браузера.
    • new=1 : URL-адрес, если это возможно, открывается в новом окне браузера.
    • new=2 : URL-адрес, если это возможно, открывается в новой вкладке браузера.

    Если аргумент autoraise=True , то открывается окно, если это возможно (обратите внимание, что во многих оконных менеджерах это происходит независимо от установки этой переменной).

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

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

    webbrowser.open_new(url) :

    Функция webbrowser.open_new() открывает URL-адрес в новом окне браузера по умолчанию, если это возможно, в противном случае откроет URL-адрес в единственном окне браузера.

    webbrowser.open_new_tab(url) :

    Функция webbrowser.open_new_tab() открывает URL-адрес в новой вкладке браузера по умолчанию, если это возможно, в противном случае поведение эквивалентно webbrowser.open_new() .

    webbrowser.get() :

    Функция webbrowser.get() возвращает объект контроллера для используемого типа браузера. Если using=None , то функция возвратит контроллер для браузера по умолчанию, соответствующего среде вызывающего объекта.

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

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

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

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

    Тип браузера Экземпляр класса контроллера
    ‘mozilla’ Mozilla(‘mozilla’)
    ‘firefox’ Mozilla(‘mozilla’)
    ‘epiphany’ Epiphany(‘epiphany’)
    ‘kfmclient’ Konqueror()
    ‘konqueror’ Konqueror()
    ‘kfm’ Konqueror()
    ‘opera’ Opera()
    ‘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’)

    Экземпляр класса ‘MacOSX’ устарел с версии Python 3.11, будет удален в Python 3.13, вместо него используйте MacOSXOSAScript .

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

    Несколько простых примеров использования модуля webbrowser :

    import webbrowser # Откроет URL-адрес в новой вкладке, если окно браузера уже открыто webbrowser.open_new_tab(url) # Откроет URL-адрес в новом окне, по возможности. webbrowser.open_new(url) 

    Объект контроллера браузера

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

    • controller.name : системно-зависимое имя браузера.
    • controller.open(url, new=0, autoraise=True) : отображает URL-адрес с помощью браузера, обрабатываемого этим контроллером.
    • controller.open_new(url) : открывает URL-адрес в новом окне браузера, обрабатываемый этим контроллером, если это возможно.
    • controller.open_new_tab(url) : открывает URL-адрес в новой вкладке браузера, обрабатываемый этим контроллером, если это возможно.

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

    Модуль 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://digitology.tech/" 

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

    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’)
    ‘netscape’ Mozilla(‘netscape’)
    ‘galeon’ Galeon(‘galeon’)
    ‘epiphany’ Galeon(‘epiphany’)
    ‘skipstone’ BackgroundBrowser(‘skipstone’)
    ‘kfmclient’ Konqueror() (1)
    ‘konqueror’ Konqueror() (1)
    ‘kfm’ Konqueror() (1)
    ‘mosaic’ BackgroundBrowser(‘mosaic’)
    ‘opera’ Opera()
    ‘grail’ Grail()
    ‘links’ GenericBrowser(‘links’)
    ‘elinks’ Elinks(‘elinks’)
    ‘lynx’ GenericBrowser(‘lynx’)
    ‘w3m’ GenericBrowser(‘w3m’)
    ‘windows-default’ WindowsDefault (2)
    ‘macosx’ MacOSX(‘default’) (3)
    ‘safari’ MacOSX(‘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. Только на платформе Mac OS X.

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

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

    url = 'https://digitology.tech/' # Открывает URL в новой вкладке, если окно браузера уже открыто. webbrowser.open_new_tab(url) # Открывает URL-адрес в новом окне, подняв окно, если это возможно. webbrowser.open_new(url) 

    Объекты контроллера браузера

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

    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 .

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

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