# g1879/DrissionPage

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/g1879-drissionpage).**

12,102 stars · 1,143 forks · Python · NOASSERTION

## Links

- GitHub: https://github.com/g1879/DrissionPage
- Homepage: https://DrissionPage.cn/
- awesome-repositories: https://awesome-repositories.com/repository/g1879-drissionpage.md

## Topics

`automation-framework` `python` `web-automation`

## Description

DrissionPage is a Python library designed for web automation, data scraping, and testing. It functions as a browser automation framework that communicates directly with the browser engine via the Chrome DevTools Protocol, allowing for precise control over browser instances and page states.

The library distinguishes itself by providing a unified interface that combines full browser automation with raw HTTP request capabilities. This hybrid approach allows users to switch between lightweight network requests and heavy browser-based interactions within a single workflow. By wrapping asynchronous operations into a synchronous, blocking interface, it simplifies the development of sequential automation scripts.

The framework includes comprehensive tools for navigating and extracting data from complex, dynamically rendered web structures using CSS selectors and XPath. It also manages the lifecycle of browser processes and maintains session persistence through local user data directories and profile configurations, ensuring stability across multiple automation tasks.

## Tags

### Testing & Quality Assurance

- [Browser Automation Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks.md) — Provides a comprehensive Python framework for browser automation, web scraping, and testing.
- [Web Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks/web-testing-frameworks.md) — Validates web application functionality by simulating user behavior across different browser environments.

### Web Development

- [Web Automation and Scraping](https://awesome-repositories.com/f/web-development/web-automation-scraping.md) — Combines browser-based automation with raw HTTP request capabilities for versatile web interaction and data extraction.
- [Chrome DevTools Protocols](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-control-protocols/chrome-devtools-protocols.md) — Provides direct control over browser instances by communicating with the engine via the Chrome DevTools Protocol.
- [Web Scraping and Automation](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation.md) — Extracts data from complex websites using browser control or HTTP requests to bypass anti-bot protections.
- [Browser Automation](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation/browser-automation.md) — Automates repetitive browser interactions for form submissions and data entry tasks.
- [Headless Browser Controllers](https://awesome-repositories.com/f/web-development/headless-browser-controllers.md) — Simplifies data collection by managing browser instances and HTTP requests through a single interface.
- [Web Scraping](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation/web-scraping.md) — Extracts data from dynamic websites by integrating browser-based interaction with direct network request capabilities.
- [Browser Session Persistence](https://awesome-repositories.com/f/web-development/browser-session-persistence.md) — Maintains browser state and sessions across automation runs using local user data directories.
- [Browser Session Managers](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation/browser-automation/browser-session-managers.md) — Combines browser automation with HTTP session management for flexible scraping workflows.
- [DOM Selectors](https://awesome-repositories.com/f/web-development/browser-integration-utilities/dom-event-handling/dom-selectors.md) — Supports CSS selectors and XPath for navigating and extracting data from complex web structures.
- [Headless Browser Orchestrators](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-orchestration-systems/headless-browser-orchestrators.md) — Manages the lifecycle of headless browser processes to ensure stable automation execution.

### User Interface & Experience

- [Dynamic Component Rendering](https://awesome-repositories.com/f/user-interface-experience/dynamic-component-rendering.md) — Captures and interacts with dynamically rendered content by ensuring elements are fully loaded.

### Networking & Communication

- [HTTP Request Abstractions](https://awesome-repositories.com/f/networking-communication/http-request-abstractions.md) — Provides a unified interface for switching between browser-based automation and raw HTTP requests.

### Data & Databases

- [Web Scraping Tools](https://awesome-repositories.com/f/data-databases/web-scraping-tools.md) — Extracts data from websites by simulating user behavior or fetching server responses directly.

### Development Tools & Productivity

- [Process Lifecycle Managers](https://awesome-repositories.com/f/development-tools-productivity/process-lifecycle-managers.md) — Handles the startup, monitoring, and cleanup of external browser processes.
