Skip to content

Latest commit

 

History

History
72 lines (41 loc) · 4.08 KB

File metadata and controls

72 lines (41 loc) · 4.08 KB
graph LR
    Browser_Manager["Browser Manager"]
    Crawler_Strategy["Crawler Strategy"]
    Scripting_Engine["Scripting Engine"]
    Browser_Adapter["Browser Adapter"]
    Browser_Profiler["Browser Profiler"]
    Browser_Manager -- "provides instances to" --> Crawler_Strategy
    Browser_Manager -- "utilizes" --> Browser_Profiler
    Crawler_Strategy -- "requests instances from" --> Browser_Manager
    Crawler_Strategy -- "invokes" --> Scripting_Engine
    Crawler_Strategy -- "leverages" --> Browser_Adapter
    Scripting_Engine -- "provides capabilities to" --> Crawler_Strategy
    Browser_Adapter -- "provides functionalities to" --> Crawler_Strategy
    Browser_Profiler -- "provides data to" --> Browser_Manager
Loading

CodeBoardingDemoContact

Details

The Browser Automation Layer subsystem is responsible for programmatically controlling web browsers to navigate, interact with, and extract content from web pages. It forms the foundational layer for web scraping, providing the necessary abstractions to manage browser instances, execute scripts, and handle various browser-specific functionalities.

Browser Manager

Manages the lifecycle of browser instances and contexts (e.g., Playwright Browser and BrowserContext objects). It is responsible for launching, configuring, and closing browsers, ensuring isolated and efficient browsing sessions.

Related Classes/Methods:

Crawler Strategy

Orchestrates the high-level web crawling process within a browser context. This includes navigating to URLs, performing page interactions (clicks, typing, scrolling), capturing various forms of content (HTML, screenshots, PDFs), and triggering the execution of custom automation scripts.

Related Classes/Methods:

Scripting Engine

Provides the capability to define, compile, and execute custom browser automation sequences, often in the form of JavaScript snippets or a Domain-Specific Language (DSL). It translates high-level commands into executable code within the browser's page context.

Related Classes/Methods:

Browser Adapter

Offers a standardized, low-level interface for specific browser functionalities that are not directly part of navigation or interaction. This includes capturing console messages, handling network requests, managing specific browser events, and providing direct access to page elements.

Related Classes/Methods:

Browser Profiler

Manages browser profiles, which are essential for maintaining session state, cookies, local storage, and other user-specific data across crawling sessions. It ensures that each browsing session can be configured with specific persistent data.

Related Classes/Methods: