GitHub
CHROME LIBRARY 1.1.0
¡Automiza Chrome con AHK v2!
Cargando...
Buscando...
Nada coincide
Referencia de la clase ChromeV2::Page

Representa una conexión WebSocket a la interfaz de depuración de una página de Chrome. Más...

Diagrama de herencia de ChromeV2::Page
WebSocket JSWrapper

Clases

class  _Navigation
 Facilita el acceso a las operaciones de navegación de Chrome DevTools Protocol. Más...

Métodos públicos

 __New (url, events :=0)
 Conecta con la interfaz de depuración de una página web determinada por su WebSocket URL.
 __Delete ()
 Destruye correctamente la instancia de la clase.
 Call (DomainAndMethod, Params?, WaitForResponse :=true)
 Llamada web.
 Evaluate (JS)
 Ejecuta instrucciones JavaScript.
 WaitForEvaluate (JS)
 Ejecuta instrucciones JavaScript y espera a que cargue el documento.
 Close ()
 Cierra la página web.
 Activate ()
 Activa la página web y espera a que el documento finalice de cargar.
 onClose (p *)
 Intenta reconectar la página ante un cierre inesperado.
 onMessage (msg)
 Almacena el mensaje recibido de la página web e intenta ejecutar el callback establecido.
Métodos públicos heredados de WebSocket
 onOpen ()
 Evento desencadenado cuando la conexión WebSocket se ha establecido correctamente.
 onClose (status, reason)
 Evento desencadenado cuando la conexión se cierra.
 onData (data, size)
 Evento desencadenado al recibir un mensaje binario.
 onMessage (msg)
 Evento desencadenado al recibir un mensaje de texto UTF-8.
 reconnect ()
 Vuelve a establecer la conexión con el WebSocket utilizando los mismos parámetros originales.
 __New (Url, Events :=0, Async :=true, Headers :='', TimeOut :=0, InitialSize :=8192)
 Establece la conexión con el cliente WebSocket.
 queryCloseStatus ()
 Consulta el código y motivo de cierre enviados por el servidor.
 sendText (str)
 Envía una cadena de texto codificada en UTF-8 al servidor.
 send (buf)
 Envía datos binarios.
 receive ()
 Recibe un mensaje del servidor de forma bloqueante.
 shutdown ()
 Cierra la conexión WebSocket de forma controlada.

Atributos públicos

KeepAlive := 0
 {Boolean} Estado de la conexión con la página.
 Navigation => this._navigation
 Facilita el acceso a las funciones de navegación de la página.
Atributos públicos heredados de WebSocket
Ptr := 0
 {Integer} Identificador interno del WebSocket (HINTERNET).
async := 0
 {Boolean} Modo de funcionamiento: true modo asíncrono, false modo síncrono.
readyState := 0
 {Integer} Estado de la conexión WebSocket.
url := ''
 {String} URL original del servidor WebSocket proporcionada al crear la instancia.
HINTERNETs := []
 {Array} Lista interna de todos los handles WinHTTP creados durante el ciclo de vida del objeto (hSession, hConnect, hRequest, hWebSocket).

Métodos privados

 WaitForLoad (desiredState :='complete', interval :=100, timeout :=10000)
 Espera a que el documento pase al estado indicado.
 WaitForElement (selector, interval :=100, timeout :=10000)
 Espera a que aparezca un elemento en el documento.

Atributos privados

_index := 0
_responses := Map()
_callback := 0
_navigation := unset

Descripción detallada

Representa una conexión WebSocket a la interfaz de depuración de una página de Chrome.

Ver también
https://chromedevtools.github.io/devtools-protocol

Documentación de funciones miembro

◆ __New()

ChromeV2::Page::__New ( url ,
events : = 0 )
inline

Conecta con la interfaz de depuración de una página web determinada por su WebSocket URL.

  • Mantiene viva la conexión enviando una solicitud cada 25 segundos.
  • Se autodesecha al cerrar la pestaña.
    Parámetros
    {String}url URL WebSocket de la página a conectar.
    {Func}events (Opcional) Función a ejecutar cuando se reciba un mensaje de la página: msg => void.

◆ Call()

ChromeV2::Page::Call ( DomainAndMethod ,
Params? ,
WaitForResponse : = true )
inline

Llamada web.

Parámetros
DomainAndMethodDominio y método WebSocket, por ejemplo: Runtime.Evaluate.
Params(Opcional) Parámetros para la llamada.
{Boolean}WaitForResponse (Opcional) Si esperar por la respuesta. Por defecto: true.
Devuelve
{Any} Resultado de la operación.

◆ Evaluate()

ChromeV2::Page::Evaluate ( JS )
inline

Ejecuta instrucciones JavaScript.

Parámetros
{String}JS Cadena de instrucciones JavaScript.
Devuelve
{Object|0} Objeto de respuesta web con las propiedades: className, description, objectId, subtype, type, value.
Excepciones
{Error}Si el código JavaScript ha generado una excepción.

◆ onClose()

ChromeV2::Page::onClose ( p * )
inline

Intenta reconectar la página ante un cierre inesperado.

Si falla, elimina la página.

◆ onMessage()

ChromeV2::Page::onMessage ( msg )
inline

Almacena el mensaje recibido de la página web e intenta ejecutar el callback establecido.

Parámetros
{String}msg Mensaje de la página.

◆ WaitForElement()

ChromeV2::Page::WaitForElement ( selector ,
interval : = 100,
timeout : = 10000 )
inlineprivate

Espera a que aparezca un elemento en el documento.

Nota
Alternativa a WaitForLoad más robusta.
Parámetros
{String}selector CSS selector.
{Integer}interval Intervalo en milisegundos de espera entre las evaluaciones.
{Integer}timeout (Opcional) Límite de tiempo (ms) para anular la búsqueda del elemento. Por defecto: 10000.
Devuelve
{Boolean} Verdadero si se encuentra el elemento. Falso en su defecto.
Ver también
https://www.w3schools.com/cssref/css_selectors.php

◆ WaitForEvaluate()

ChromeV2::Page::WaitForEvaluate ( JS )
inline

Ejecuta instrucciones JavaScript y espera a que cargue el documento.

Parámetros
{String}JS Cadena de instrucciones JavaScript.
Devuelve
{Object|0} Objeto de respuesta web con las propiedades: className, description, objectId, subtype, type, value.
Excepciones
{Error}Si el código JavaScript ha generado una excepción.

◆ WaitForLoad()

ChromeV2::Page::WaitForLoad ( desiredState : = 'complete',
interval : = 100,
timeout : = 10000 )
inlineprivate

Espera a que el documento pase al estado indicado.

Nota
El documento pasa al estado "complete" sin finalizar la carga los elementos asíncronos. Si se requieren, utilizar WaitForElement.
Parámetros
{String}desiredState (Opcional) Estado deseado para el documento. Por defecto: "complete".
{Integer}interval Intervalo en milisegundos de espera entre las evaluaciones del estado.
{Integer}timeout (Opcional) Límite de tiempo (ms) para anular la búsqueda del elemento. Por defecto: 10000.
Devuelve
{ChromeV2.Page}
Excepciones
{Error}Si se alcanza el tiempo de espera sin que el documento alcance el estado deseado.
Ver también
https://www.w3schools.com/jsref/prop_doc_readystate.asp