projectdiscovery/katana · error
could not get page info
Error message
could not get page info
What it means
newPageState fails when browser.Page.Info() returns an error, meaning the browser could not report the current page's URL/title (e.g. page crashed, closed, navigation in progress, or CDP call failed). The wrap annotates the underlying browser error before it propagates to getPageHash/crawlFn.
Source
Thrown at pkg/engine/headless/crawler/state.go:70
func newPageState(page *browser.BrowserPage, action *types.Action) (*types.PageState, error) {
pageInfo, err := page.Info()
if err != nil {
return nil, errors.Wrap(err, "could not get page info")
}
if pageInfo.URL == "" || pageInfo.URL == "about:blank" {
return nil, ErrEmptyPage
}
outerHTML, err := page.HTML()
if err != nil {
return nil, errors.Wrap(err, "could not get html content")
}
state := &types.PageState{
URL: pageInfo.URL,
DOM: outerHTML,
NavigationAction: action,
Title: pageInfo.Title,
}View on GitHub (pinned to e3e742739c)
Solutions
- Check the wrapped cause: if the browser page was closed or crashed, recreate the page before retrying
- Log the underlying error to distinguish transient navigation races from a dead browser session
- Retry page.Info() once if the failure occurred during an in-flight navigation
- Skip this page state and let the crawler continue with other queued actions
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at pkg/engine/headless/crawler/state.go:70 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of projectdiscovery/katana@e3e742739c (2026-09-03).
Data as JSON: /api/errors/16c4c1a3d2b8e4bf.
Report an issue: GitHub.