Versions in this module Expand all Collapse all v1 v1.0.0 Feb 1, 2026 Changes in this version + func ExtractAJAXURLsFromJS(jsContent string) []string + func IsNonRoutingHash(hash string) bool + func NormalizeHashURL(rawURL string) string + type AJAXEndpoint struct + ContentType string + Method string + Parameters []string + Source string + Trigger string + URL string + type AJAXForm struct + Action string + CallbackURL string + FormID string + FormName string + Inputs []InputData + Method string + SubmitType string + type AJAXHandler struct + func NewAJAXHandler() *AJAXHandler + func (h *AJAXHandler) AnalyzeAJAX(page *rod.Page) *AJAXResult + func (h *AJAXHandler) ExtractAJAXEndpoints(page *rod.Page) []AJAXEndpoint + func (h *AJAXHandler) ExtractAJAXForms(page *rod.Page) []AJAXForm + func (h *AJAXHandler) GetCapturedRequests(page *rod.Page) []NetworkRequest + func (h *AJAXHandler) InjectAJAXInterceptor(page *rod.Page) error + func (h *AJAXHandler) MonitorDynamicContent(page *rod.Page, duration time.Duration) []string + func (h *AJAXHandler) TriggerAJAXEvents(page *rod.Page) error + func (h *AJAXHandler) WaitForAJAX(page *rod.Page, timeout time.Duration) error + type AJAXResult struct + AJAXEndpoints []AJAXEndpoint + AJAXForms []AJAXForm + DynamicContent []string + Requests []NetworkRequest + type Browser struct + func New(config Config) (*Browser, error) + func (b *Browser) Close() error + func (b *Browser) GetConfig() Config + func (b *Browser) NeedsRecycle() bool + func (b *Browser) PageCount() int + func (b *Browser) Visit(ctx context.Context, url string, headers map[string]string, ...) (*PageResult, error) + func (b *Browser) VisitHashRoute(ctx context.Context, baseURL string, hashRoute string, ...) (*PageResult, error) + func (b *Browser) VisitHashRouteWithOptions(ctx context.Context, baseURL string, hashRoute string, ...) (*PageResult, error) + func (b *Browser) VisitWithOptions(ctx context.Context, url string, headers map[string]string, ...) (*PageResult, error) + type Config struct + FastMode bool + Headless bool + IgnoreHTTPSErrors bool + PoolSize int + RecycleAfter int + Timeout time.Duration + UserAgent string + ViewportHeight int + ViewportWidth int + func DefaultConfig() Config + type FormData struct + Action string + Enctype string + ID string + Inputs []InputData + Method string + Name string + type InputData struct + MaxLength int + MinLength int + Name string + Pattern string + Placeholder string + Required bool + Type string + Value string + type Interceptor struct + func NewInterceptor() *Interceptor + func (i *Interceptor) AddFilter(filter RequestFilter) + func (i *Interceptor) Clear() + func (i *Interceptor) GetAPIRequests() []NetworkRequest + func (i *Interceptor) GetRequests() []NetworkRequest + func (i *Interceptor) GetTimeline() *RequestTimeline + func (i *Interceptor) GroupByEndpoint() []RequestGroup + func (i *Interceptor) Record(req NetworkRequest) + func (i *Interceptor) Stats() InterceptorStats + type InterceptorStats struct + APIRequests int + ByMethod map[string]int + ByType map[string]int + TotalRequests int + type NetworkRequest struct + Headers map[string]string + Method string + PostData string + ResourceType string + Timestamp time.Time + URL string + type PageResult struct + AJAXEndpoints []AJAXEndpoint + AJAXForms []AJAXForm + AuthURL string + ContentHash string + ContentType string + Cookies []*http.Cookie + DynamicContent []string + Error error + FinalURL string + Forms []FormData + Framework *framework.DetectionResult + FrameworkLinks []framework.Link + FrameworkRoutes []framework.Route + HTML string + IsAuthPage bool + IsSoftError bool + Links []string + ResponseTime time.Duration + Scripts []string + ShadowDOMLinks []string + SoftErrorMsg string + StatusCode int + Title string + URL string + WebSockets []string + XHRRequests []NetworkRequest + type Pool struct + func NewPool(config Config) (*Pool, error) + func (p *Pool) Acquire(ctx context.Context) (*Browser, error) + func (p *Pool) Close() error + func (p *Pool) Release(browser *Browser) + func (p *Pool) Size() int + func (p *Pool) Stats() PoolStats + func (p *Pool) Visit(ctx context.Context, url string, headers map[string]string, ...) (*PageResult, error) + func (p *Pool) VisitHashRoute(ctx context.Context, baseURL string, hashRoute string, ...) (*PageResult, error) + func (p *Pool) VisitHashRouteWithOptions(ctx context.Context, baseURL string, hashRoute string, ...) (*PageResult, error) + func (p *Pool) VisitWithOptions(ctx context.Context, url string, headers map[string]string, ...) (*PageResult, error) + type PoolStats struct + Available int + Size int + TotalPages int + type RequestFilter struct + Method string + ResourceType string + URLPattern string + type RequestGroup struct + Endpoint string + Method string + Parameters map[string][]string + Requests []NetworkRequest + type RequestTimeline struct + End time.Time + Requests []NetworkRequest + Start time.Time + type SPAConfig struct + EnableContentDedup bool + LoadingSelectors []string + MaxRetries int + MaxWaitTime time.Duration + MinContentLength int + ReadySelectors []string + StealthMode bool + func DefaultSPAConfig() SPAConfig + type SPAHandler struct + func NewSPAHandler(config SPAConfig) *SPAHandler + func (h *SPAHandler) ApplyStealthMode(page *rod.Page) error + func (h *SPAHandler) DetectMicroFrontends(page *rod.Page) ([]string, error) + func (h *SPAHandler) ExtractShadowDOMContent(page *rod.Page) ([]string, error) + func (h *SPAHandler) GetContentHash(page *rod.Page) (string, error) + func (h *SPAHandler) HandleAuthRedirect(page *rod.Page) (bool, string) + func (h *SPAHandler) HandleInfiniteScroll(page *rod.Page, maxScrolls int, scrollDelay time.Duration) ([]string, error) + func (h *SPAHandler) InjectNetworkMonitor(page *rod.Page) error + func (h *SPAHandler) IsSoftError(page *rod.Page) (bool, string) + func (h *SPAHandler) RecoverFromHang(page *rod.Page) error + func (h *SPAHandler) SetupPageErrorHandling(page *rod.Page) + func (h *SPAHandler) WaitForContent(page *rod.Page) error + type VisitOptions struct + CheckSoftError bool + EnableStealth bool + FastMode bool + MaxWaitTime time.Duration + SPAMode bool