Así que estoy tratando de hacer que el titiritero almuerce una página y luego coloque una ficha dentro de un almacenamiento local. .setItem no funciona, solo está aplastando mi cromo.
entonces hay una página llamada discordia y si tiene un token de usuario puede iniciar sesión en la página con un script
Así que descubrí que alguien ha creado un script que puedes pasar en la consola y luego, cuando el código dice "token aquí", pasas tu token y luego todo sucede.
let token = "your token"; function login(token) { setInterval(() => { document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage.token = `"${token}"` }, 50); setTimeout(() => { location.reload(); }, 2500); } login(token);
Este es el código.
así que mi idea es hacer que el titiritero ejecute este código y luego inicie sesión en la página después de actualizar
hay alguna opcion para hacerlo? Si no hay ninguna opción que haya pensado en otra solución, tal vez haga que el titiritero escriba en la consola todo el código.
Si desea ejecutar el código JavaScript en el contexto del navegador con Puppeteer, necesita un método de evaluate
. Para referencia: https://github.com/puppeteer/puppeteer/blob/v10.4.0/docs/api.md#pageevaluatepagefunction-args o Google para obtener ejemplos similares y más fáciles de usar; hay muchos en la web y SO.
Básicamente, para ejecutar cualquier código JS en un contexto de navegador, coloca su código dentro de un método de evaluate
y debería verse así:
await page.evaluate(() => new Promise((resolve) => { // your browser JS code goes here }
En cuanto a la parte de las cookies, deberían persistir incluso después de recargar (no lo he probado, pero verifique esto como referencia: Cookies desaparecidas después de recargar Puppeteer => page.setCookie(...cookies) ).
Además, tal vez no esté relacionado, pero tenga cuidado de que todo esté bien desde el punto de vista legal, porque muchos sitios desaprueban los bots y el comportamiento similar a los bots y violan sus términos de servicio.