webbrowser | Python Standard Library – Real Python

The Python webbrowser module provides a high-level interface to allow displaying web-based documents to users. It provides a quick way to open a web page in the default web browser and can also somewhat control browser behavior.

Here’s a quick example:

Key Features

  • Opens URLs in the default web browser
  • Supports specifying and controlling different browsers
  • Allows opening URLs in new browser windows or tabs
  • Provides cross-platform compatibility—Windows, macOS, and Linux
  • Allows customization of browser command-line arguments
  • Handles browser launching and process management
  • Integrates easily with other Python modules and workflows

Frequently Used Classes and Functions

Examples

Open a URL in a new browser window:

Open a URL in a new browser tab:

Common Use Cases

  • Opening web pages from Python code
  • Automating web browsing tasks
  • Testing web applications by automatically opening them in different browsers
  • Opening documentation, help pages, or reports for users
  • Launching web-based dashboards or GUIs from scripts
  • Implementing open-in-browser features in desktop apps
  • Automating error reporting or user support by opening URLs
  • Assisting in automated web testing setups

Real-World Example

Suppose you’re building a GUI app with Tkinter and want to give users a button to open the Python documentation in their browser. Here’s how you can do it:

In this example, clicking the Open Python Docs button launches the official Python documentation home page in the user’s default web browser.

Modern Web Automation with Python and Selenium

For additional information on related topics, take a look at the following resources: