Representa una conexión WebSocket a la interfaz de depuración de una página de Chrome.
Más...
|
| class | _Navigation |
| | Facilita el acceso a las operaciones de navegación de Chrome DevTools Protocol. Más...
|
|
| | __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.
|
|
| 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.
|
|
|
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.
|
|
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).
|
|
| | 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.
|
|
|
_index | := 0 |
|
_responses | := Map() |
|
_callback | := 0 |
|
_navigation | := unset |
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
◆ __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
-
| DomainAndMethod | Dominio 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