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:38] 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: 
 + 
 +  * Mozilla Firefox 
 +  * Google Chrome 
 +  * Safari 
 +  * Microsoft Edge 
 +  * Opera 
 +  * 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.1612514323.txt.gz · Última modificación: por tempwin