Ir al contenido principal

Selenium webdriver genera archivos temporales que llenan mi disco duro

En esta ocasión quiero compartirles algo que no preví al usar selenium webdriver con nodejs. Uso esta combinación para monitorear un tag de audio dentro de un sitio web interno.

Ejecuto mi aplicación de node de la forma típica:

node miapp.js

Cabe señalar que la app la ejecuto con el programador de tareas de windows para que se ejecute cada cierto tiempo.

El código node es algo así:

const { Builder, By, Key, until } = require('selenium-webdriver');

(async function example() {

    // Crea una nueva instancia del navegador

    let driver = await new Builder().forBrowser('chrome').build();

    try {

        // Navega a la página deseada

        await driver.get('http://localhost/verifica.html');

        await driver.findElement(By.css("html")).click();

    await driver.sleep(120000);

    } finally {

        // Cierra el navegador

        await driver.quit();

    }

})();

Todo funciona como se espera, sin embargo empecé a notar al paso de los días que el espacio en disco duro se iba terminando, sospeché inmediatamente de selenium webdriver, busqué en google y solo pude encontrar esto: [1]

Por lo que confirmé mi sospecha, cada vez que se ejecuta el comando node para iniciar la app, selenium crea un directorio scoped_dir random que contiene la configuración de la instancia del navegador [2] y con un peso de alrededor de 12 mb. En mi caso, Windows lo genera en c:\Windows\SystemTemp como se puede apreciar:


Borrando estas carpetas no me afectó el funcionamiento de mi programa en las ejecuciones posteriores y sin embargo liberé gran cantidad de espacio en disco duro.

Para poder entrar a la carpeta c:\Windows\SystemTemp tuve que ejecutar un comando en powershell para tomar control sobre el directorio ya que es un directorio de sistema.

Takeown /F "C:\Windows\SystemTemp" /A /R


Por un momento me volví loco buscando donde se generaban estas carpetas, ya que, windows no me contabilizaba el peso correcto de la carpeta c:\windows ya que supongo que por ser c:\windows\SystemTemp una especie de carpeta de sistema oculta y protegida la ignoraba, genial windows!.

Referencias:

[1] [🐛 Bug]: Chromedriver 109 creates scoped_dir random directories in C:\Program Files (x86) · Issue #11555 · SeleniumHQ/selenium · GitHub

[2] Now temporary folder created in C:\Program Files when using Selenium to automate Edge - Microsoft Q&A

Comentarios

Entradas populares de este blog

Error Outlook no pudo crear el archivo de datos, Outlook 2016, 2019, 2021, 365

¿Los ha frustrado el error "No pudimos crear el archivo de datos de Outlook. Asegúrese de que el disco en el que lo está guardando no está lleno ni protegido contra escritura y de que el archivo no se está usando"? (Imagen 1), sabemos que nuestro disco no está lleno, ni está protegido, lo que debes hacer es lo siguiente. Imagen 1. Lo que ocasiona el error es el asistente automático para agregar la cuenta , por lo que agregándola manualmente a través del panel de control los dejará agregarla sin problemas.  Aviso. Para realizar esta operación debemos conocer todos los parámetros de configuración, como servidor de entrada, salida, puertos etc; Mismos que nos deben ser proporcionados por el personal de IT o Hosting. 1. Vamos a acceder al panel de control de toda la vida, escribimos panel en el menú de inicio y seleccionamos "Panel de control": 2. Seleccionamos "Mail (Microsoft Outlook)" o simplemente "Correo". 3. Seleccionamos Cuentas de correo elec...

Como generar certificado ssl gratis con let's encrypt

Con los nuevos hospedajes de pago con cpanel, el tema de los certificados ssl para poder acceder a nuestro sitio mediante https está más que solucionado, ahora, cpanel automáticamente renueva el certificado para nosotros. Sin embargo, para quienes todavía tenemos un hospedaje cpanel sin dicha función lo tenemos que estar renovando cada 90 días si usamos algún servicio como let's encrypt. Para esto afortunadamente existen sitios que nos facilitan dicha tarea como lo es: SSL Certificate Generator: Free letsencrypt SSL in minutes - PunchSalad Si bien algún tiempo estuvo en mantenimiento, al día de hoy está en completo funcionamiento. El asistente de PunchSalad te va guiando con los pasos que se resumen a lo siguiente: Escribir tu dominio, ejemplo.com, www.ejemplo.com Escribir un correo. Aceptar los términos y presionar el botón generar certificado ssl gratis. Descargar los 2 archivos para la validación y colocarlos en el sitio web en la ruta que te dice. Presionar validar. Descargar l...

Router dlink DIR-615 como Punto de Acceso wifi

Hola, en este artículo vamos a ver como sacarle provecho a nuestro viejo dispositivo para utilizarlo como punto de acceso, ya que no trae la opción por defecto para utilizarlo de este modo y así poder acceder a los dispositivos que se encuentren en la red como impresoras, carpetas compartidas etc. Cabe mencionar que el objetivo es utilizar el router dlink DIR-615 como punto de acceso para la misma red IP/MASCARA DE RED que ya se tenga, si bien en este procedimiento me baso en dicho modelo, la receta me ha servido para incluso configurar modems de la marca huawei que da telnor/telmex para infinitum, por lo que si te familiarizas con los pasos que daré aquí seguramente también podrás aplicarlo a otras marcas de dispositivos. Requisitos. Tener un dispositivo en la red que ofrezca DHCP. Que el dispositivo que van a configurar como punto de acceso (en mi caso el DIR-615) tenga puertos para comunicación capa 2 integrados (switch). Cable UTP al alcance para conectarlo a nuestra red a...