Cree un flujo de trabajo de automatización de CloakBrowser con Stealth Chromium, perfiles persistentes e inspección de la señal del navegador
def cloakbrowser_tutorial_job(): resultados = { “basic_launch”: Ninguno, “advanced_context”: Ninguno, “storage_restore”: Ninguno, “persistent_profile”: Ninguno, “rendered_extraction”: Ninguno, “static_parsing”: Ninguno, “errors”: []} print_section(“1. Lanzamiento de Basic CloakBrowser”) browser = Ninguno intente: browser = launch( headless=True, humanize=True, args=[
“–no-sandbox”,
“–disable-dev-shm-usage”,
]) página = browser.new_page() page.goto(“https://example.com”, wait_until=”domcontentloaded”, timeout=60000) resultados[“basic_launch”] = { “título”: página.título(), “body_preview”: página.locator(“cuerpo”).inner_text(timeout=15000)[:300]”url”: página.url, } print(json.dumps(resultados[“basic_launch”]sangría = 2)) excepto Excepción como e: error = { “section”: “basic_launch”, “error”: repr(e), } resultados[“errors”].append(error) print(error) finalmente: safe_close(navegador, “navegador básico”) print_section(“2. Inicio de contexto avanzado con contexto de navegador personalizado”) contexto = Ninguno intente: contexto = launch_context( headless=True, humanize=True, viewport={“width”: 1365, “height”: 768}, locale=”en-US”, timezone_id=”America/New_York”, color_scheme=”light”, extra_http_headers={ “Accept-Language”: “en-US,en;q=0.9”, “X-Tutorial-Run”: “cloakbrowser-colab”, }, args=[
“–no-sandbox”,
“–disable-dev-shm-usage”,
]) page = context.new_page() page.goto(TEST_PAGE_URL, wait_until=”domcontentloaded”, timeout=60000) page.locator(“#name”).fill(“CloakBrowser Colab User”) page.locator(“#message”).fill( “Estamos probando la automatización segura del navegador local en Google Colab”. ) page.locator(“#submit”).click() page.wait_for_timeout(1000) señales = page.evaluate(“() => recolectarSignals()”) status_text = page.locator(“#status”).inner_text() page.screenshot(path=str(SCREENSHOT_PATH), full_page=True) context.storage_state(path=str(STORAGE_STATE_PATH)) resultados[“advanced_context”] = { “status_text”: status_text, “señales”: señales, “screenshot_path”: str(SCREENSHOT_PATH), “storage_state_path”: str(STORAGE_STATE_PATH), } print(json.dumps(resultados[“advanced_context”]sangría=2, predeterminado=cadena)) excepto Excepción como e: error = { “section”: “advanced_context”, “error”: repr(e), } resultados[“errors”].append(error) print(error) finalmente: safe_close(contexto, “contexto avanzado”) print_section(“3. Restaurar almacenamiento local usando Storage_state”) restaurado_context = Ninguno intentar: restaurado_context = launch_context( headless=True, humanize=True, Storage_state=str(STORAGE_STATE_PATH), viewport={“width”: 1365, “height”: 768}, locale=”en-US”, timezone_id=”América/Nueva_York”, args=[
“–no-sandbox”,
“–disable-dev-shm-usage”,
]), cloakbrowser_test: localStorage.getItem(“cloakbrowser_test”) }) “””) resultados[“storage_restore”] = valores_restaurados print(json.dumps(valores_restaurados, sangría=2)) excepto Excepción como e: error = { “sección”: “storage_restore”, “error”: repr(e), } resultados[“errors”].append(error) print(error) finalmente: safe_close(restored_context, “contexto restaurado”)