En la consola de chrome devtools hay un menú desplegable en la parte superior para seleccionar el contexto de ejecución.
Aquí hay un ejemplo cuando en www.google.com
Cambiar el contexto de ejecución cambia las variables globales disponibles y a qué puede acceder cualquier consola invocada .js
Estoy tratando de ejecutar javascript a través del Protocolo ChromeDevtools usando la función Runtime.evaluate y necesito ejecutarlo en el contexto del trabajador.
Al revisar los documentos de CDP , veo que Runtime.evaluate toma un parámetro ExecutionContextId . Inicialmente asumí que los contextos de ejecución a través del menú desplegable de la ventana DevTools serían los mismos que este parámetro. La única forma en que he descubierto cómo obtener una lista de los ExecutionContextId actuales es suscribirme al evento Runtime.executionContextCreated y luego hacer un Runtime.disable seguido de un Runtime.enable que hace que el ExecutionContextDiscription sea recibido por el controlador de eventos para cada contexto cargado.
Sin embargo, después de mirar los ExecutionContextDescription devueltos, algunos coinciden con los del menú desplegable, pero nunca se devuelve un contexto de ejecución que describa al trabajador.
¿Cómo se ejecuta js en un contexto de ejecución de trabajador a través de CDP, como se hace trivialmente en la ventana de ChromeDevtools?