UNPKG

@molin.ai/rebrowser-cloudflare-puppeteer-core

Version:

A high-level API to control headless Chrome over the DevTools Protocol

9 lines (8 loc) 14 kB
/** * JavaScript code that provides the puppeteer utilities. See the * [README](https://github.com/puppeteer/puppeteer/blob/main/src/injected/README.md) * for injection for more information. * * @internal */ export const source = "\"use strict\";var v=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var ne=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},oe=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of re(e))!ne.call(t,o)&&o!==n&&v(t,o,{get:()=>e[o],enumerable:!(r=te(e,o))||r.enumerable});return t};var se=t=>oe(v({},\"__esModule\",{value:!0}),t);var ke={};f(ke,{default:()=>Ie});module.exports=se(ke);var A=class extends Error{constructor(e,n){super(e,n),this.name=this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},b=class extends A{};var m=class t{static create(e){return new t(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof t?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}#e=!1;#r=!1;#n;#t;#o=new Promise(e=>{this.#t=e});#s;#l;constructor(e){e&&e.timeout>0&&(this.#l=new b(e.message),this.#s=setTimeout(()=>{this.reject(this.#l)},e.timeout))}#a(e){clearTimeout(this.#s),this.#n=e,this.#t()}resolve(e){this.#r||this.#e||(this.#e=!0,this.#a(e))}reject(e){this.#r||this.#e||(this.#r=!0,this.#a(e))}resolved(){return this.#e}finished(){return this.#e||this.#r}value(){return this.#n}#i;valueOrThrow(){return this.#i||(this.#i=(async()=>{if(await this.#o,this.#r)throw this.#n;return this.#n})()),this.#i}};var B=new Map,X=t=>{let e=B.get(t);return e||(e=new Function(`return ${t}`)(),B.set(t,e),e)};var I={};f(I,{ariaQuerySelector:()=>ie,ariaQuerySelectorAll:()=>C});var ie=(t,e)=>globalThis.__ariaQuerySelector(t,e),C=async function*(t,e){yield*await globalThis.__ariaQuerySelectorAll(t,e)};var O={};f(O,{customQuerySelectors:()=>R});var k=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},R=new k;var _={};f(_,{pierceQuerySelector:()=>le,pierceQuerySelectorAll:()=>ae});var le=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ae=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var h=(t,e)=>{if(!t)throw new Error(e)};var T=class{#e;#r;#n;#t;constructor(e,n){this.#e=e,this.#r=n}async start(){let e=this.#t=m.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#r,{childList:!0,subtree:!0,attributes:!0})}async stop(){h(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return h(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},E=class{#e;#r;constructor(e){this.#e=e}async start(){let e=this.#r=m.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){h(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\"))}result(){return h(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},P=class{#e;#r;#n;#t;constructor(e,n){this.#e=e,this.#r=n}async start(){let e=this.#t=m.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#r)}async stop(){h(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return h(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}};var W={};f(W,{pQuerySelector:()=>Ae,pQuerySelectorAll:()=>ee});var u=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var g={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶*)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶*)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},ce=new Set([\"combinator\",\"comma\"]);var ue=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(g[t].source.replace(\"(?<argument>\\xB6*)\",\"(?<argument>.*)\"),\"gu\");default:return g[t]}};function fe(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function me(t,e=g){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let c=i.exec(l);if(!c)continue;let p=c.index-1,d=[],V=c[0],F=l.slice(0,p+1);F&&d.push(F),d.push({...c.groups,type:o,content:V});let H=l.slice(p+V.length+1);H&&d.push(H),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],ce.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var de=/(['\"])([^\\\\\\n]+?)\\1/g,he=/\\\\./g;function z(t,e=g){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(he,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(de,(i,s,l,c)=>(n.push({value:i,offset:c}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=fe(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=me(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:c}=i;if(!(s.pos[0]<=l&&l+c.length<=s.pos[1]))continue;let{content:p}=s,d=l-s.pos[0];s.content=p.slice(0,d)+c+p.slice(d+c.length),s.content!==p&&o.add(s)}for(let i of o){let s=ue(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function a(t){if(Array.isArray(t))return t.map(e=>e.content).join(\"\");switch(t.type){case\"list\":return t.list.map(a).join(\",\");case\"relative\":return t.combinator+a(t.right);case\"complex\":return a(t.left)+t.combinator+a(t.right);case\"compound\":return t.list.map(a).join(\"\");default:return t.content}}g.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var pe=/\\\\[\\s\\S]/g,ge=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(pe,e=>e[1]));function G(t){let e=!0,n=z(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(a(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(a(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(a(s)),s.splice(0)),r.push({name:l.name.slice(3),value:ge(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(a(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(a(s)),[i,e]}var q={};f(q,{textQuerySelectorAll:()=>S});var ye=new Set([\"checkbox\",\"image\",\"radio\"]),we=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!ye.has(t.type),Se=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Se.has(t.nodeName)&&!document.head?.contains(t),M=new WeakMap,Y=t=>{for(;t;)M.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},K=new WeakSet,be=new MutationObserver(t=>{for(let e of t)Y(e.target)}),y=t=>{let e=M.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(we(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Y(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=y(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=y(t.shadowRoot).full),K.has(t)||(be.observe(t,{childList:!0,characterData:!0,subtree:!0}),K.add(t))}return M.set(t,e),e};var S=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=S(r.shadowRoot,e):o=S(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&y(t).full.includes(e)&&(yield t)};var Q={};f(Q,{checkVisibility:()=>Ee,pierce:()=>x,pierceAll:()=>D});var Te=[\"hidden\",\"collapse\"],Ee=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Te.includes(r.visibility)&&!Pe(n);return e===o?t:!1};function Pe(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var xe=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*x(t){xe(t)?yield t.shadowRoot:yield t}function*D(t){t=x(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};f(j,{xpathQuerySelectorAll:()=>L});var L=function*(t,e,n=-1){let o=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),i=[],s;for(;(s=o.iterateNext())&&(i.push(s),!(n&&i.length===n)););for(let l=0;l<i.length;l++)s=i[l],yield s,delete i[l]};var Ne=/[-\\w\\P{ASCII}*]/,J=t=>\"querySelectorAll\"in t,N=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},U=class{#e;#r;#n=[];#t=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#r=r,this.#o()}async run(){if(typeof this.#t==\"string\")switch(this.#t.trimStart()){case\":scope\":this.#o();break}for(;this.#t!==void 0;this.#o()){let e=this.#t,n=this.#e;typeof e==\"string\"?e[0]&&Ne.test(e[0])?this.elements=u.flatMap(this.elements,async function*(r){J(r)&&(yield*r.querySelectorAll(e))}):this.elements=u.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!J(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=u.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*S(r,e.value);break;case\"xpath\":yield*L(r,e.value);break;case\"aria\":yield*C(r,e.value);break;default:let o=R.get(e.name);if(!o)throw new N(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#t=this.#n.shift();return}if(this.#r.length===0){this.#t=void 0;return}let e=this.#r.shift();switch(e){case\">>>>\":{this.elements=u.flatMap(this.elements,x),this.#o();break}case\">>>\":{this.elements=u.flatMap(this.elements,D),this.#o();break}default:this.#n=e,this.#o();break}}},$=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},Z=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?Z(r,i):n<o?-1:1},ve=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new $;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>Z(r,o)).map(([r])=>r)},ee=function(t,e){let n,r;try{[n,r]=G(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new N(e,\"Multiple deep combinators found in sequence.\");return ve(u.flatMap(n,o=>{let i=new U(t,e,o);return i.run(),i.elements}))},Ae=async function(t,e){for await(let n of ee(t,e))return n;return null};var Ce=Object.freeze({...I,...O,..._,...W,...q,...Q,...j,Deferred:m,createFunction:X,createTextContent:y,IntervalPoller:P,isSuitableNodeForTextMatching:w,MutationPoller:T,RAFPoller:E}),Ie=Ce;\n/**\n * @license\n * Copyright 2018 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @license\n * Copyright 2022 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @license\n * Copyright 2020 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n";