(Created on )

Puppeteer: Cannot create default querySelector.

The internal query handler has neither querySelector nor a querySelectorAll fallback.


The internal query handler has neither querySelector nor a querySelectorAll fallback.

Error message

Cannot create default querySelector.

How this error happens

An internal query handler has neither a query method nor the alternate method from which Puppeteer can build a fallback. An empty custom handler illustrates the missing implementation.

The snippets use the imported Puppeteer class for its static query-handler methods. The fix uses the same import.

import {
    Puppeteer,
} from "puppeteer";

Puppeteer.registerCustomQueryHandler(
    "custom",
    {}
);

Public registration catches an empty object earlier. This is a configuration example, not a promise that the public call emits this exact internal fallback error.

How to fix

Register a handler with at least one usable query function.

Puppeteer.registerCustomQueryHandler(
    "custom",
    {
        queryOne: (root, selector) => {
            return root.querySelector(selector);
        },
    }
);

Things to keep in mind

If a plugin bypasses public validation, remove that integration from the reproduction. There is no supported public API for repairing an internal QueryHandler class.

All Puppeteer errors

Keep Reading

Puppeteer Guides

All Guides →