CodeGym /Curso de Java /Python SELF ES /Acciones básicas en el navegador

Acciones básicas en el navegador

Python SELF ES
Nivel 35 , Lección 2
Disponible

1. Abrir páginas web: primeros pasos

Si alguna vez soñaste con ser el amo de las páginas web, estás en la lección correcta. Hoy vamos a abrir páginas web con Selenium y aprenderemos a interactuar con ellas. Imagina que controlas el navegador como un director de orquesta, solo que la orquesta es el internet, y la partitura es el código Python. ¡Vamos a comenzar nuestro concierto!

Antes de que podamos interactuar con una página web, tenemos que abrirla, ¿verdad? Es como llegar a una biblioteca antes de buscar un libro. En Selenium, abrir páginas web se hace utilizando el driver del navegador. Por ahora asumimos que ya tienes instalados Selenium y el driver web correspondiente (por ejemplo, ChromeDriver o GeckoDriver). Si viste la lección anterior, ya sabes cómo hacerlo. Si no, regresa y léela de nuevo.

Veamos cómo empezar con una apertura sencilla de una página web:

Python

from selenium import webdriver

# Creamos una instancia del driver para Chrome
driver = webdriver.Chrome()

# Abrimos una página web
driver.get('https://www.example.com')

# Mostramos el título de la página en la consola
print(driver.title)

# Cerramos el navegador
driver.quit()

Qué pasa en el código:

  1. Importamos el webdriver: Es el corazón de Selenium, que permite controlar el navegador.
  2. Creación del driver: Aquí creamos un objeto driver para Chrome. Puede ser cualquier navegador para el que tengas el driver.
  3. Apertura de página: El método get() carga la página especificada por la URL.
  4. Obtenemos el título: Con driver.title podemos mostrar el título de la página actual.
  5. Cerramos el navegador: El método quit() finaliza el trabajo con el navegador.

¡Y así, abrimos nuestra primera página web! Este es el primer paso hacia la dominación mundial... eh... quise decir, ¡hacia la automatización!

2. Navegación y trabajo con pestañas

Simplemente abrir una página no es suficiente. A menudo necesitamos movernos entre páginas o incluso abrir varias pestañas. Imagina que eres un viajero que puede teletransportarse instantáneamente entre lugares. Con Selenium, esto es posible.

Navegación entre páginas

Moverse de una página a otra es tan fácil como abrirla:

Python

# Ir a otra página
driver.get('https://www.example.org')

# Usar el método back() para regresar a la página anterior
driver.back()

# Usar el método forward() para avanzar
driver.forward()

Trabajo con pestañas

¿Qué tal abrir una nueva pestaña? Es como llevar tu portátil a las bibliotecas de diferentes ciudades.

Python

# Abrimos una nueva pestaña y cambiamos a ella
driver.execute_script("window.open('https://www.example.com', '_blank');")
driver.switch_to.window(driver.window_handles[1])

# Volvemos a la primera pestaña
driver.switch_to.window(driver.window_handles[0])

Explicación:

  • execute_script(): Se utiliza para ejecutar código JavaScript en el navegador. Aquí abrimos una nueva pestaña.
  • switch_to.window(): Este método permite cambiar entre pestañas. Usamos window_handles para acceder a la lista de todas las pestañas abiertas.

3. Interacción con la página web

Ahora que aprendimos a abrir y navegar por las páginas, vamos a pasar a interactuar directamente con ellas — ¡como un verdadero programador! Es como aprender a bailar con cada página web y hacerlo con maestría.

Interfaz de interacción

Veamos un ejemplo de cómo interactuar con elementos en una página. Por ejemplo, buscar un campo de texto e ingresar texto:

Python

# Encontramos un elemento por su nombre
search_box = driver.find_element_by_name('q')

# Escribimos texto en el cuadro de texto encontrado
search_box.send_keys('Selenium Python')

# Encontramos el botón de búsqueda y hacemos clic en él
submit_button = driver.find_element_by_name('btnK')
submit_button.click()

Explicación:

  • find_element_by_name(): Método que se utiliza para encontrar un elemento por su nombre. Aquí buscamos el cuadro de texto de búsqueda.
  • send_keys(): Permite ingresar texto en el elemento encontrado.
  • click(): Se utiliza para simular un clic en un elemento, como un botón.

Métodos adicionales

Para interacciones más complejas con elementos, hay muchos métodos. Consulta la documentación de Selenium para un estudio más profundo. Aquí veremos algunos básicos.

  • find_element_by_id(): Encuentra un elemento por su ID.
  • find_element_by_class_name(): Encuentra un elemento por su clase.
  • find_element_by_css_selector(): Utiliza selectores CSS para buscar.

¡Ahora puedes abrir y explorar páginas como un verdadero viajero web! No tengas miedo de experimentar y probar cosas nuevas. Como dicen, "los errores son escalones en el camino hacia el éxito", especialmente si estás seguro de que tu código es confiable y probado.

Errores típicos

Trabajar con Selenium puede ser un poco como caminar por un campo minado si no conoces los problemas comunes. Uno de los errores más comunes es olvidar terminar la sesión del navegador. Esto puede conducir a que los procesos del navegador queden colgados en la memoria. Siempre usa driver.quit() al final de tu script.

Otro dolor de cabeza para los programadores en Selenium es el cambio en las estructuras de las páginas web. Si un elemento fue encontrado por un selector y el desarrollador del sitio cambió la estructura del HTML, tu script de repente dejará de funcionar. Es como si de repente cerraran una puerta cuando intentabas entrar a una habitación. Es importante escribir código flexible y actualizarlo regularmente de acuerdo con los cambios en el sitio.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION