by PromptSpace
Omite los diálogos nativos del sistema operativo para carga de archivos en automatización de navegadores mediante interceptación JavaScript e inyección de DataTransfer.
₹420 ($5)
One-time purchase
by PromptSpace
Omite los diálogos nativos del sistema operativo para carga de archivos en automatización de navegadores mediante interceptación JavaScript e inyección de DataTransfer.
₹420 ($5)
One-time purchase
⚡ Skill ready to install in Claude Code, Gemini CLI, or any MCP-compatible client. Read the install guides →
Esta habilidad ofrece una solución programática probada en producción para uno de los obstáculos más persistentes en la automatización de navegadores: el diálogo nativo del sistema operativo para carga de archivos. Ya sea que uses Playwright, Puppeteer, Selenium o el computer-use de Claude, hacer clic en un botón de carga de archivos suele activar un selector de archivos de macOS, Windows o Linux que congela la automatización y requiere intervención manual.
Esta herramienta orientada a desarrolladores utiliza una técnica de interceptación JavaScript para omitir completamente la interfaz nativa. Sobreescribe el método HTMLInputElement.prototype.click para inyectar datos de archivo directamente en el DOM del navegador mediante la API DataTransfer, disparando un evento change sintético que los frameworks web reconocen como una carga de usuario válida.
La habilidad está diseñada para desarrolladores que crean scrapers automatizados, cargadores de contenido o bots RPA. Es especialmente eficaz en sitios complejos como YouTube Studio o herramientas internas empresariales donde la asignación de input.value está bloqueada por cabeceras de seguridad.
Solo archivos de texto: De forma predeterminada, el script de preparación en Python (prepare_injection.py) lee los archivos con codificación UTF-8. Esto significa que funciona perfectamente para archivos de texto (CSV, JSON, TXT, XML, scripts, sbv, etc.), pero generará un error de codificación si intentas procesar archivos binarios como videos .mp4, documentos .pdf o imágenes (.jpg, .png).
Limitaciones de tamaño de archivo: Dado que esta técnica funciona inyectando el contenido completo del archivo en la memoria del navegador como una cadena JavaScript, no es adecuada para archivos de gran tamaño (por ejemplo, archivos de video de varios gigabytes). Intentar inyectar archivos extremadamente grandes puede agotar la memoria de la pestaña del navegador o provocar un fallo en el protocolo DevTools del framework de automatización.
Ejecución de un solo uso: El interceptor JavaScript está diseñado para consumir el payload tras su uso (window.__pendingFile = null; después del clic). Si tu automatización necesita cargar varios archivos consecutivamente, debes reinyectar el nuevo payload antes de cada clic.
Orden de ejecución estricto: El interceptor JavaScript (interceptor.js) debe ejecutarse en el DOM del navegador antes de que la herramienta de automatización haga clic en el disparador de carga. Si el clic ocurre primero, el diálogo del sistema operativo se abrirá igualmente y bloqueará el hilo.
mkdir -p ~/.claude/skills/bypass-macos-file-dialog && curl -s -X POST 'https://api.promptspace.in/api/skills/bypass-macos-file-dialog/install' | python3 -c "import sys,json; sys.stdout.write(json.load(sys.stdin).get('installInstructions') or '')" > ~/.claude/skills/bypass-macos-file-dialog/SKILL.mdFree skills install directly. Paid skills require purchase - use the download button above after buying.
Security Scanned
Passed automated security review
No special permissions declared or detected
OpenClaw, Cursor, Claude Code, Codex CLI
PromptSpace
We build AI agent skill packages for content creators. Specializing in Chinese social media automation.