💾 Archived View for tilde.team › ~amok › selenium.gmi captured on 2021-11-30 at 20:18:30. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Para usar SELENIUM tenemos que seguir una serie de pasos:
1. Inicializar el WEBDRIVER.
2. Ingresar a la página objetivo.
3. Buscar elementos en la página y convertirlos en objetos.
4. Realizar operaciones con esos objetos.
El WEBDRIVER no es más que una instancia de un navegador-web controlado por SELENIUM. Puede ser Chrome, Firefox, etc. La manera de inicializarlo es:
driver = webdriver.Chrome() driver = webdriver.Firefox() driver = webdriver.Blabla()
Tené en cuenta que vas a necesitar tener instalada en tu distribución el paquete Chromedriver o Gekkodriver, etc., para poder usar SELENIUM.
Podemos convertir en objetos una buena cantidad de elementos HTML, previamente haberlos identificado en la página objetivo.
Algunos ejemplos:
busqueda = driver.find_element_by_id("search-text") lista= driver.find_elements_by_class_name("result_listing")
Una vez tengamos estos elementos declarados como objetos, podemos acceder a ciertos métodos en los mismos. Por ejemplo:
busqueda.send_keys("Husserl") busqueda.submit()
Tipicamente se importa primero la LIBRERÍA:
from selenium import webdriver
Y luego de manera independiente las otras funcionalidades que necesitemos:
from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.support.ui import Select
Cuando importamos WEBDRIVER accedemos a una CLASE. Por eso es que podemos utilizar:
Es decir, con "from selenium import webdriver" lo que hacemos es importar la CLASE webdriver. Una vez en posesión de la misma, podemos INSTANCIAR OBJETOS de esta clase. De hecho, instanciamos un objeto webdriver.Chrome() más arriba, cuando hicimos:
from selenium import webdriver driver = webdriver.Chrome()
Pero también podemos importar CLASES más específicas, como cuando hicimos:
from selenium.webdriver.common.keys import Keys
Clases como "Keys" nos permiten acceder a ciertos ATRIBUTOS. Como es típico en Python, tenemos dos clases de ATRIBUTOS:
Ejemplo de PROPIEDAD:
driver.current_url
Ejemplo de MÉTODO:
driver.close()
Los OBJETOS tienen ATRIBUTOS, y dentro de los ATRIBUTOS tenemos los MÉTODOS. Cuando previamente me referí a las OPERACIONES que se pueden ejecutar sobre objetos, técnicamente estaba refiriéndome a los MÉTODOS que podemos llamar.
En SELENIUM tenemos implementados una buena cantidad de métodos como *ACTIONS CHAINS*. Cuando ejecutamos una operación, o llamamos un método de *ACTIONS CHAINS*, el mismo se guarda en una QUEUE y se van realizando en forma serial.
Entre los MÉTODOS más importantes tenemos:
Hay muchos más. Arriba vimos:
busqueda.send_keys("Husserl") busqueda.submit()