Interface: CheerioOptions

Defined in: src/options.ts

Options accepted by Cheerio.

Please note that parser-specific options are only recognized if the relevant parser is used.

Extends

  • ParserOptions<Htmlparser2TreeAdapterMap>

Extended by

Properties

baseURI?

optional baseURI: string | URL;

Defined in: src/options.ts

The base URI for the document. Used to resolve the href and src props.


onParseError?

optional onParseError: ParserErrorHandler | null;

Defined in: node_modules/parse5/dist/parser/index.d.ts

Callback for parse errors.

Default

null

Inherited from

Parse5ParserOptions.onParseError

pseudos?

optional pseudos: Record<string, string | (elem, value?) => boolean>;

Defined in: src/options.ts

Extension point for pseudo-classes.

Maps from names to either strings of functions.

  • A string value is a selector that the element must match to be selected.
  • A function is called with the element as its first argument, and optional parameters second. If it returns true, the element is selected.

Example

const $ = cheerio.load(
  '<div class="foo"></div><div data-bar="boo"></div>',
  {
    pseudos: {
      // `:foo` is an alias for `div.foo`
      foo: 'div.foo',
      // `:bar(val)` is equivalent to `[data-bar=val s]`
      bar: (el, val) => el.attribs['data-bar'] === val,
    },
  },
);

$(':foo').length; // 1
$('div:bar(boo)').length; // 1
$('div:bar(baz)').length; // 0

quirksMode?

optional quirksMode: boolean;

Defined in: src/options.ts

Is the document in quirks mode?

This will lead to .className and #id being case-insensitive.

Default

false

scriptingEnabled?

optional scriptingEnabled: boolean;

Defined in: node_modules/parse5/dist/parser/index.d.ts

The scripting flag. If set to true, noscript element content will be parsed as text.

Default

true

Inherited from

Parse5ParserOptions.scriptingEnabled

sourceCodeLocationInfo?

optional sourceCodeLocationInfo: boolean;

Defined in: node_modules/parse5/dist/parser/index.d.ts

Enables source code location information. When enabled, each node (except the root node) will have a sourceCodeLocation property. If the node is not an empty element, sourceCodeLocation will be a ElementLocation object, otherwise it will be Location. If the element was implicitly created by the parser (as part of tree correction), its sourceCodeLocation property will be undefined.

Default

false

Inherited from

Parse5ParserOptions.sourceCodeLocationInfo

treeAdapter?

optional treeAdapter: TreeAdapter<Htmlparser2TreeAdapterMap>;

Defined in: node_modules/parse5/dist/parser/index.d.ts

Specifies the resulting tree format.

Default

treeAdapters.default

Inherited from

Parse5ParserOptions.treeAdapter

xml?

optional xml: 
  | boolean
  | HTMLParser2Options;

Defined in: src/options.ts

Recommended way of configuring htmlparser2 when wanting to parse XML.

This will switch Cheerio to use htmlparser2.

Default

false

xmlMode?

optional xmlMode: boolean;

Defined in: src/options.ts

Enable xml mode, which will switch Cheerio to use htmlparser2.

Deprecated

Please use the xml option instead.

Default

false