XPathEvaluator: evaluate() method - Web APIs | MDN
Skip to search
XPathEvaluator: evaluate() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
See full compatibility
Report feedback
The
evaluate()
method of the
XPathEvaluator
interface
executes an XPath expression on the given node or document and returns an
XPathResult
Syntax
js
evaluate(expression, contextNode)
evaluate(expression, contextNode, resolver)
evaluate(expression, contextNode, resolver, type)
evaluate(expression, contextNode, resolver, type, result)
Parameters
expression
A string representing the XPath expression to be parsed and
evaluated.
contextNode
Node
representing the context to use for evaluating the expression.
resolver
Optional
Node
null
, or any object implementing the
lookupNamespaceURI
method. Permits translation of all prefixes, including the
xml
namespace
prefix, within the XPath expression into appropriate namespace URIs.
type
Optional
Specifies the type of result to be returned by evaluating the expression. This must
be one of the
XPathResult.Constants
result
Optional
Allows to specify a result object which may be reused and returned by this method.
If this is specified as
null
or the implementation does not reuse the
specified result, a new result object will be returned.
Return value
An
XPathResult
object representing the result of evaluating the XPath
expression.
Exceptions
INVALID_EXPRESSION_ERR
If the expression is not legal according to the rules of the
XPathEvaluator
, a
DOMException
of type
INVALID_EXPRESSION_ERR
is raised.
TYPE_ERR
In case result cannot be converted to the specified type, a
DOMException
of type
TYPE_ERR
is raised.
NAMESPACE_ERR
If the expression contains namespace prefixes which cannot be resolved by the specified
XPathNSResolver
, a
DOMException
of type
NAMESPACE_ERROR
is raised.
WRONG_DOCUMENT_ERR
If the provided context node is from a document that is not supported by the
XPathEvaluator
, a
DOMException
of type
WRONG_DOCUMENT_ERR
is raised.
NOT_SUPPORTED_ERR
If the provided context node is not a type permitted as an XPath context node or the
request type is not permitted by the
XPathEvaluator
, a
DOMException
of type
NOT_SUPPORTED_ERR
is raised.
Examples
The following example shows the use of the
evaluate()
method.
HTML
html

XPath example

Number of <div>s:

JavaScript
js
const evaluator = new XPathEvaluator();
const result = evaluator.evaluate(
"//div",
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;
Result
Specifications
Specification
DOM
# dom-xpathevaluatorbase-evaluate
Browser compatibility
Help improve MDN
Learn how to contribute
This page was last modified on
Sep 25, 2025
by
MDN contributors
View this page on GitHub
Report a problem with this content