Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:selenium

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:python:selenium [2021/02/05 09:39] tempwininformatica:programacion:python:selenium [2021/05/25 16:22] (actual) – [Uso] tempwin
Línea 2: Línea 2:
  
 Selenium es una herramienta de código abierto y multiplataforma que permite automatizar interacciones con aplicaciones web sin intervención manual. Selenium es una herramienta de código abierto y multiplataforma que permite automatizar interacciones con aplicaciones web sin intervención manual.
 +
 +También es la única solución cuando queremos procesar webs que tienen carga dinámica, es decir, se va cargando el contenido sin modicar la URL.
  
   * [[https://www.selenium.dev/|Web oficial de Selenium]]   * [[https://www.selenium.dev/|Web oficial de Selenium]]
-  * [[https://pypi.org/project/selenium/|Versión para Python]]+  * [[https://pypi.org/project/selenium/|Conector para Python]]
  
 Navegadores soportados: Navegadores soportados:
Línea 14: Línea 16:
   * Opera   * Opera
   * Microsoft IE   * Microsoft IE
 +
 +===== Funcionamiento =====
 +
 +{{ :informatica:programacion:python:modulos:selenium:selenium-arquitectura-simplificada.png?nolink |}}
 +
 +  - Cuando ejecutamos un automatismo, el código se convierte en JSON
 +  - El JSON generado se envía al //browser driver// a través del //JSON Wire Protocol Over HTTP//
 +  - El driver del navegador ejecuta los comandos en su respectivo navegador mediante HTTP. 
 +  - El driver del navegador obtiene la respuesta del navegador y la envía de vuelta al cliente.
 +
 +===== Instalación =====
 +
 +A través del gestor de paquetes **pip**:
 +
 +<code>
 +pip install selenium
 +</code>
 +
 +===== Uso =====
 +
 +Además de la instalación de Selenium, debemos elegir el navegador que vamos a utilizar porque lo que hace Selenium es lanzar un navegador y automatizar acciones dentro de él.
 +
 +Debemos descargar el [[https://selenium-python.readthedocs.io/installation.html#drivers|webdriver]] para el navegador correspondiente. Navegadores más populares y estándar:
 +
 +  * [[https://github.com/mozilla/geckodriver/releases/latest|Mozilla Firefox]]
 +  * [[https://sites.google.com/a/chromium.org/chromedriver/downloads|Google Chrome]]
 +
 +<code python>
 +from selenium import webdriver
 +
 +driver = webdriver.Firefox("/ruta/webdriver/firefox")
 +driver.get("https://tempwin.net")
 +driver.quit
 +</code>
 +
 +El anterior código abrirá una instancia de Firefox y cargará la URL https://tempwin.net. Al finalizar la carga, se cerrará.
 +
 +Si usásemos Google Chrome, el método que usaríamos con ''webdriver'' sería ''Chrome'':
 +
 +<code python>
 +from selenium import webdriver
 +
 +driver = webdriver.Chrome("/ruta/webdriver/chrome")
 +driver.get("https://tempwin.net")
 +driver.quit
 +</code>
 +===== XPath =====
 +
 +En Firefox:
 +
 +  * XPath: ''%%//%%*[@id=%%'%%nombre%%'%%]''
 +  * CSS: ''#nombre''
informatica/programacion/python/selenium.1612514390.txt.gz · Última modificación: por tempwin