Inspección de sesiones
Ve cómo depurar sesiones de automatización vía una interfaz gráfica en tiempo real.
El Herramienta de inspección de sesiones es una potente función de depuración de Oxylabs Unblocking Browser que aprovecha la tecnología VNC (Virtual Network Computing) para proporcionar acceso visual en tiempo real a tus sesiones de automatización de navegador. Esta herramienta crea un puente seguro entre tu instancia de navegador sin interfaz y una interfaz gráfica que puedes observar y controlar.
¿Cuándo usarla?
Aunque Oxylabs Unblocking Browser ofrece capacidades de sigilo integradas, evasión dinámica de CAPTCHA y otras funciones, ciertos escenarios requieren observación visual directa para:
Diagnosticar problemas complejos que no son evidentes en los registros o mensajes de error
Entender el renderizado de la página exactamente como lo ve el navegador
Verificar la correcta ejecución de tus flujos de automatización
Resolver comportamientos inesperados en tiempo real
Ejemplo de uso
Puedes habilitar la Herramienta de inspección de sesiones añadiendo el o_vnc=true parámetro al endpoint de conexión, por ejemplo: wss://username:[email protected]?o_vnc=true.
El fragmento de código JavaScript a continuación funciona con el navegador Chrome (UBC); se admiten tanto las bibliotecas Playwright como Puppeteer:
const {chromium} = require('playwright');
(async () => {
let page = null
let browser = null
try {
// Use o_vnc=true parameter to connect
browser = await chromium.connectOverCDP('wss://user:[email protected]?o_vnc=true')
const ctx = browser.contexts()[0];
// Create a new page
page = await ctx.newPage()
page.on('console', async msg => {
console.log(`BROWSER [${msg.type()}] ${msg.text()}`);
})
// Get the session ID using a CDP session
let sesId = await (await ctx.newCDPSession(page)).send("__session_id")
// Use UB novnc client or any WebSocket capable client to connect to vnc
console.log(`Connect to VNC: https://vnc.headlesify.io/novnc/?id=${sesId.value}`)
// Goto to a page
await page.goto('https://duckduckgo.com')
// Sleep for 10 minutes
await new Promise(resolve => {
setTimeout(resolve, 6000000)
})
}
catch (e) {
console.log("Finished with error:", e)
} finally {
if (page != null) await page.close()
if (browser != null) await browser.close()
process.exit(0)
}
})()Última actualización
¿Te fue útil?

