Repolode
g1879

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