Bienvenido a la Comunidad de Treehouse

¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.

¿Buscas aprender algo nuevo?

Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de

Inicia tu prueba gratuita

Garantía de calidad Introducción a Selenium Prueba Selenium Instalación

Error de referencia no capturado: driver no está definido

Después de escribir "driver.get(url);", obtuve el mensaje de error "Error no capturado ReferenceError: driver no está definido". ¿Cómo resuelvo este problema?

Steven Parker
Steven Parker
244 163 puntos

Necesitas proporcionar más información. Echa un vistazo a este video sobre Publicar una pregunta), y quizás también este sobre compartir un captura de pantalla de tu espacio de trabajo.

Caleb Kemp
Caleb Kemp
13.130 puntos

Me alegra Steven Parker que hayas mencionado eso, sin suficiente información, no siempre es posible encontrar una solución. No lo sé con certeza, pero por lo que publicaste, creo que podrías tener un problema de referencia de iframe (alcance). Déjame ver si puedo mostrarte lo que quiero decir. En el siguiente código, vemos que aunque tenemos let max = 5 más arriba en el código, ejecutar console.log(max) causará un error porque no están en el mismo alcance. La variable max no ha sido definida fuera del bloque "if".

if(1 == 1){
  let máximo = 5;
}
console.log(máximo)

En el caso de los iframe, puedes tener algo similar, algo como lo siguiente

iframe(parent){
  iframe(hijo){
    const driver = new selenium.build;
  }
  //Creo que puedes ver cómo ejecutar "driver.get" aquí causará un error de referencia porque está fuera del alcance
  driver.get(url);
}

Para arreglar esto, tenemos que asegurarnos de que tu llamada "driver.get(url)" esté en el alcance correcto. Agregar algo como lo siguiente antes de tu llamada "driver.get(url)" podría funcionar.

//aquí dentro del iframe (hijo)
driver.switchTo().marco(parent);
driver.switch_to_default_content();

Aquí es un enlace a una explicación de una persona sobre esto. No sé al 100% si este es tu problema, sin embargo, parece ser razonablemente probable según la información publicada. ¡Espero que te ayude!