Documentation
¶
Index ¶
Constants ¶
View Source
const (
DefaultSessionID = "default"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BrowserAutomation ¶
type BrowserAutomation interface {
// Browser management
LaunchBrowser(ctx context.Context, config *BrowserConfig) (*BrowserSession, error)
CloseBrowser(ctx context.Context, sessionID string) error
GetSession(sessionID string) (*BrowserSession, error)
GetOrCreateDefaultSession(ctx context.Context) (*BrowserSession, error)
// Page operations
ClickElement(ctx context.Context, sessionID, selector string, options map[string]any) error
FillForm(ctx context.Context, sessionID string, fields []map[string]any, submit bool, submitSelector string) error
ExtractData(ctx context.Context, sessionID string, extractors []map[string]any, format string) (string, error)
TakeScreenshot(ctx context.Context, sessionID, path string, fullPage bool, selector string, format string, quality int) error
ExecuteScript(ctx context.Context, sessionID, script string, args []any) (any, error)
WaitForCondition(ctx context.Context, sessionID, condition, selector, state string, timeout time.Duration, customFunction string) error
HandleAuthentication(ctx context.Context, sessionID, authType, username, password, loginURL string, selectors map[string]string) error
// Service management
GetHealth(ctx context.Context) error
Shutdown(ctx context.Context) error
GetConfig() *config.Config
}
BrowserAutomation represents the playwright dependency interface Playwright service for browser automation and web testing
func NewPlaywrightService ¶
NewPlaywrightService creates a new instance of BrowserAutomation
type BrowserConfig ¶
type BrowserConfig struct {
Engine BrowserEngine
Headless bool
Timeout time.Duration
ViewportWidth int
ViewportHeight int
Args []string
}
BrowserConfig holds browser configuration options
func DefaultBrowserConfig ¶
func DefaultBrowserConfig() *BrowserConfig
DefaultBrowserConfig returns default browser configuration
func NewBrowserConfigFromConfig ¶
func NewBrowserConfigFromConfig(cfg *config.Config) *BrowserConfig
NewBrowserConfigFromConfig creates browser config from app configuration
type BrowserEngine ¶
type BrowserEngine string
BrowserEngine represents the browser type
const ( Chromium BrowserEngine = "chromium" Firefox BrowserEngine = "firefox" WebKit BrowserEngine = "webkit" )
type BrowserSession ¶
type BrowserSession struct {
ID string
Browser playwright.Browser
Context playwright.BrowserContext
Page playwright.Page
Created time.Time
LastUsed time.Time
}
BrowserSession represents an active browser session
Click to show internal directories.
Click to hide internal directories.