A Python library for browser automation built on Selenium, letting you target elements by visible labels instead of selectors.
g1879/DrissionPage
Python web automation library that controls browsers and sends HTTP packets, combining browser automation convenience with requests-style efficiency.
Open-source alternative to:Selenium
- Stars
- 12,561
- Forks
- 1,141
- Open issues
- 262
- Last commit
- 11 days ago
What is it?
DrissionPage is a Python library for web automation. It can drive a browser, send and receive raw HTTP requests, or switch between the two within one script, so developers can combine the convenience of browser control with the speed of requests.
Its core is built independently rather than on WebDriver, so it needs no per-version browser drivers. Elements inside iframes can be located without switching context, multiple tabs can be operated at once, and full-page screenshots include the parts outside the viewport. It also reads shadow roots that are not in open mode and can save images directly from the browser cache.
The library bundles features such as a concise locator syntax, automatic waiting and retries, a download helper, reuse of an already-open browser, and ini-based configuration. It uses lxml for parsing and offers a page-object style structure that can be applied to testing.
Key features
- 01Controls browsers and sends HTTP requests from the same API
- 02Built on a self-developed core without WebDriver or version-matched drivers
- 03Locates elements across iframes without switching context
- 04Takes full-page screenshots, including content outside the viewport
- 05Reuses an already-open browser to speed up debugging
- 06Uses a concise locator syntax with built-in waiting and retries
Use cases
- Scraping data from sites that require browser rendering or login
- Automating repetitive browser tasks such as form filling and downloads
- Mixing browser sessions with direct requests to reduce overhead
- Writing browser-based end-to-end tests with a page-object structure
Things to know
- Usage terms limit use to personal study and lawful non-profit purposes, so commercial use needs the copyright holder's permission.
- The README gives no install command, and the license metadata is unspecified (NOASSERTION).
In collections
Topics
FAQ
- What is DrissionPage?
- Python web automation library that controls browsers and sends HTTP packets, combining browser automation convenience with requests-style efficiency. DrissionPage is a Python library for web automation. It can drive a browser, send and receive raw HTTP requests, or switch between the two within one script, so developers can combine the convenience of browser control with the speed of requests.
- Is DrissionPage free to use? What license does it have?
- DrissionPage is open source under the Other license. Check the license terms before using it in commercial products.
- Is DrissionPage still maintained?
- Actively maintained. The last commit to DrissionPage was on Oct 27, 2026.
- What can I use DrissionPage for?
- Scraping data from sites that require browser rendering or login Automating repetitive browser tasks such as form filling and downloads Mixing browser sessions with direct requests to reduce overhead Writing browser-based end-to-end tests with a page-object structure
- Where can I get DrissionPage?
- The source code and installation instructions are on GitHub: https://github.com/g1879/DrissionPage
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A JavaScript library with a high-level API for controlling Chrome or Firefox over DevTools Protocol or WebDriver BiDi, headless by default.
Go library for browser automation that drives Chromium, Firefox and WebKit through one Playwright API.
Python library for automating Chromium, Firefox and WebKit browsers through a single API, with sync and async variants.
A Go library that drives Chrome through the DevTools Protocol for web automation and scraping, with auto-waiting and browser download.
A Python library for automating website interaction, storing cookies, following links and submitting forms without a browser engine.