"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[55215],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=l(r),m=a,x=d["".concat(c,".").concat(m)]||d[m]||s[m]||o;return r?n.createElement(x,p(p({ref:t},u),{},{components:r})):n.createElement(x,p({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,p=new Array(o);p[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,p[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>p,default:()=>s,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const o={},p="ExecutionContext class",i={unversionedId:"api/puppeteer.executioncontext",id:"api/puppeteer.executioncontext",title:"ExecutionContext class",description:'This class represents a context for JavaScript execution. A \\Page\\] might have many execution contexts: - each [frame has "default" execution context that is always created after frame is attached to DOM. This context is returned by the Frame.executionContext() method. - Extension\'s content scripts create additional execution contexts.',source:"@site/../docs/api/puppeteer.executioncontext.md",sourceDirName:"api",slug:"/api/puppeteer.executioncontext",permalink:"/puppeteer/api/puppeteer.executioncontext",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"sidebar",previous:{title:"executablePath variable",permalink:"/puppeteer/api/puppeteer.executablepath"},next:{title:"ExecutionContext.evaluate() method",permalink:"/puppeteer/api/puppeteer.executioncontext.evaluate"}},c={},l=[{value:"Remarks",id:"remarks",level:2},{value:"Methods",id:"methods",level:2}],u={toc:l};function s(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"executioncontext-class"},"ExecutionContext class"),(0,a.kt)("p",null,"This class represents a context for JavaScript execution. A ","[","Page","]"," might have many execution contexts: - each ",(0,a.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe"},"frame"),' has "default" execution context that is always created after frame is attached to DOM. This context is returned by the ',(0,a.kt)("a",{parentName:"p",href:"/puppeteer/api/puppeteer.frame.executioncontext"},"Frame.executionContext()")," method. - ",(0,a.kt)("a",{parentName:"p",href:"https://developer.chrome.com/extensions"},"Extension"),"'s content scripts create additional execution contexts."),(0,a.kt)("p",null,"Besides pages, execution contexts can be found in ",(0,a.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API"},"workers"),"."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Signature:")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-typescript"},"export declare class ExecutionContext\n")),(0,a.kt)("h2",{id:"remarks"},"Remarks"),(0,a.kt)("p",null,"The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the ",(0,a.kt)("inlineCode",{parentName:"p"},"ExecutionContext")," class."),(0,a.kt)("h2",{id:"methods"},"Methods"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Method"),(0,a.kt)("th",{parentName:"tr",align:null},"Modifiers"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"/puppeteer/api/puppeteer.executioncontext.evaluate"},"evaluate(pageFunction, args)")),(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"/puppeteer/api/puppeteer.executioncontext.evaluatehandle"},"evaluateHandle(pageFunction, args)")),(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"/puppeteer/api/puppeteer.executioncontext.frame"},"frame()")),(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"/puppeteer/api/puppeteer.executioncontext.queryobjects"},"queryObjects(prototypeHandle)")),(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},"This method iterates the JavaScript heap and finds all the objects with the given prototype.")))))}s.isMDXComponent=!0}}]);