El cajón de Drazul

El lugar donde duerme el pequeño dragón

Instalando Selenium Y Primeras Pruebas

En este post voy a tratar de realizar una guía sencilla sobre la instalación y configuración de Selenium en un sistema GNU/Linux Debian y su utilización con Python.

Instalación

Para la instalación de módulos en Python lo más cómodo es instalarse la herramienta pip, que podemos encontrar en los repositorios oficiales. Para instalarlo ejecutamos lo siguiente:

1
sudo apt-get install python-pip

La herramienta pip es un gestor de módulos para Python que descarga, instala, configura y gestiona las dependencias de cualquier módulo que se encuentre en su base de datos. En la práctica funciona como un gran repositorio de módulos para Python.

Dicho lo anterior pasamos a instalar Selenium mediante la herramienta pip ejecutándo lo siguiente:

1
sudo pip install selenium

Una vez hecho lo anterior ya tenemos el sistema preparado para las primeras pruebas.

Primeras pruebas

Una vez instalado el sistema solo queda probar que funciona, para eso vamos a intentar abrir un navegador Firefox ejecutando lo siguiente:

1
2
3
from selenium import webdriver

browser = webdriver.Firefox()

Con esto ha hemos abierto el Firefox con una configuración vacía y distinta de la que usamos cuando ejecutamos el navegador directamente.

Una vez hecho esto vamos a intentar abrir una página web. Para ello hacemos lo siguiente:

1
2
3
url = 'http://drazul.github.io'

browser.get(url)

Como este ejemplo es muy sencillo, y no sirve para mucho por sí solo, voy a explicar cómo automatizar la introducción de datos en un forulario y el envío de los mismos como si de un usuario real se tratara. En el ejemplo voy a abrir la página de este blog e introducir un texto en el cuadro de búsqueda para posteriormente enviarlo y esperar resultados.

Para indentificar el elemento que necesitamos lo más cómodo es utilizar las herramientas de depuración y desarrollo de Google Chrome, para ello basta con posicionar el puntero del ratón encima del elemento que queremos identificar y dale a Inspeccionar elemento. Una vez hecho esto nos aparece el código fuente de la página con el elemento que queremos seleccionado y posicionamos el puntero del ratón en esa línea seleccionada y copiamos su XPATH a través de la opción que nos ofrece el menú que se desplega al pulsar el botón derecho. En el caso del cuadro de búsqueda del blog el XPATH es el siguiente: /html/body/nav/form/fieldset/input[2].

Una vez identificado el elemento mediante su XPATH procedemos a buscar con Selenium dicho elemento, a introducir una cadena de búsqueda y a iniciar la búsqueda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from selenium import webdriver

browser = webdriver.Firefox()

url = 'http://drazul.github.io'
browser.get(url)

xpath = '/html/body/nav/form/fieldset/input[2]'
form = browser.find_element_by_xpath(xpath)

text_to_search = 'pruebas con selenium'
form.send_keys(text_to_search)

form.submit()

Como podemos ver Selenium nos puede facilitar bastante la vida con tareas tediosas como rellenar enormes formularios o repetitivos.

Selenium nos ofrece multitud de funcionalidades, básicamente todas las que puedas hacer a mano con un navegador normal. Para ver cómo hacer otras tareas os animo a que visitéis el siguiente enlace, donde se pueden ver ejemplos sobre cómo utilizar la API de Selenium.

Comments