← Back to Runtime domain

Runtime.evaluate

Evaluates expression on global object.

Domain: Runtime stable

Parameters

NameTypeDescription
expressionstringExpression to evaluate.
objectGroup (optional)stringSymbolic group name that can be used to release multiple objects.
includeCommandLineAPI (optional)booleanDetermines whether Command Line API should be available during the evaluation.
silent (optional)booleanIn silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides `setPauseOnException` state.
contextId (optional)ExecutionContextIdSpecifies in which execution context to perform evaluation. If the parameter is omitted the evaluation will be performed in the context of the inspected page. This is mutually exclusive with `uniqueContextId`, which offers an alternative way to identify the execution context that is more reliable in a multi-process environment.
returnByValue (optional)booleanWhether the result is expected to be a JSON object that should be sent by value.
generatePreview (optional)booleanWhether preview should be generated for the result.
userGesture (optional)booleanWhether execution should be treated as initiated by user in the UI.
awaitPromise (optional)booleanWhether execution should `await` for resulting value and return once awaited promise is resolved.
throwOnSideEffect (optional)booleanWhether to throw an exception if side effect cannot be ruled out during evaluation. This implies `disableBreaks` below.
timeout (optional)TimeDeltaTerminate execution after timing out (number of milliseconds).
disableBreaks (optional)booleanDisable breakpoints during execution.
replMode (optional)booleanSetting this flag to true enables `let` re-declaration and top-level `await`. Note that `let` variables can only be re-declared if they originate from `replMode` themselves.
allowUnsafeEvalBlockedByCSP (optional)booleanThe Content Security Policy (CSP) for the target might block 'unsafe-eval' which includes eval(), Function(), setTimeout() and setInterval() when called with non-callable arguments. This flag bypasses CSP for this evaluation and allows unsafe-eval. Defaults to true.
uniqueContextId (optional)stringAn alternative way to specify the execution context to evaluate in. Compared to contextId that may be reused across processes, this is guaranteed to be system-unique, so it can be used to prevent accidental evaluation of the expression in context different than intended (e.g. as a result of navigation across process boundaries). This is mutually exclusive with `contextId`.
serializationOptions (optional)SerializationOptionsSpecifies the result serialization. If provided, overrides `generatePreview` and `returnByValue`.

Returns

NameTypeDescription
resultRemoteObjectEvaluation result.
exceptionDetailsExceptionDetailsException details.

Example Request

{
  "id": 1,
  "method": "Runtime.evaluate",
  "params": {
    "expression": "document.title"
  }
}

Example Response

{
  "id": 1,
  "result": {
    "result": {
      "type": "string",
      "value": "Example Domain"
    },
    "exceptionDetails": "exceptionDetails-value"
  }
}

Usage in Node.js

const result = await send('Runtime.evaluate', {"expression": "document.title"});
console.log(result);
// {"result": {"type": "string", "value": "Example Domain"}, "exceptionDetails": "exceptionDetails-value"}