(Created on )

Puppeteer: Multiple deep combinators found in sequence.

A Puppeteer selector contains consecutive unsupported deep combinators.


A Puppeteer selector contains consecutive unsupported deep combinators.

Error message

Multiple deep combinators found in sequence.

How this error happens

The browser-side selector engine received two adjacent deep combinators with no selector segment between them. Its parsed-selector check rejects that malformed traversal.

The first block illustrates malformed internal parsed-selector data. The correction uses an open Puppeteer page named page.

[
    [
        ["my-widget"],
        ">>>",
        ">>>>",
        ["button"]
    ]
]

The two strings are consecutive combinator entries. A normal public selector parser may insert empty selector segments, so a text selector such as my-widget >>> >>> button can return no match instead of emitting this exact internal message.

How to fix

Use a meaningful public selector with one shadow-root traversal, rather than constructing or changing internal parsed selector lists.

await page.setContent(
    "<my-widget></my-widget>"
);

await page.$eval("my-widget", (host) => {
    const root = host.attachShadow({
        mode: "open",
    });

    root.innerHTML = "<button>Save</button>";
});

const save = await page.$(
    "my-widget >>> button"
);

await save.click();

Things to keep in mind

This is an internal parsed-selector guard, not a guaranteed public validation error for every repeated > sequence. Deep combinators do not enter iframes or closed shadow roots.

All Puppeteer errors

Keep Reading

Puppeteer Guides

All Guides →