semvec/pypi-packages huggingface dataset:
page-handler-prod 0.3.1
Libreria para manejar la pagina de MIDT mediante el uso de SELENIUM
License: MIT

# page-handler

Desarrollado por Franco Fernández (https://github.com/FrancoFernandezCh) y Rodrigo Garrido (https://github.com/RodrigoGarridoLeiva).

Librería que te permite manejar mediante el uso de SELENIUM, el navegador para la web específica de MIDT.

Explicación de la logica de la libreria
La clase PageHandler se basa en el patrón de diseño CoR ([Chain of Responsability](https://refactoring.guru/es/design-patterns/chain-of-responsibility)), esto para reemplazar la clase WebPublisher, patrón de diseño Strategy, que estaba pensado para solucionar otra problemática, que era la de poder realizar la misma acción sobre diferentes páginas Web.

Con la clase PageHandler se pretende encapsular las acciones que se pueden realizar sobre cierta página web, MiDT, con estas acciones encapsuladas poder reutilizar para generar nuevas funcionalidades.

![](page_handler.png)

La estructura se compone de la siguiente manera, se definió la clase PageHandler, cuya función es funcionar como una interfaz para definir los métodos que esta tendrá.

Luego también se definió la clase AbstractPageHandler, para definir funcionalidades base para cualquier implementación concreta.

Y por último se encuentra las implementaciones concretas que heredaran de la clase AbstractPageHandler.

El código cliente es el encargado de definir la cadena de ejecución inicial en el orden que se desea ejecutar.

Las implementaciones concretas se puede ver en el [siguiente diagrama](https://drive.google.com/file/d/1Gm3zCfWxerTZ0Tuoj2Gh86hkvBKPEUz4/view?usp=sharing) y los flujos que el código cliente debe de respetar se pueden visualizar en el [siguiente diagrama](https://drive.google.com/file/d/1QbIyRNGJiqN8StVELLvOfFDlEv2Gwu8z/view?usp=sharing).

Esta librería tiene manejadores de páginas para las siguientes funcionalidades:
    - Login de usuario
    - Registro electrónico
    - Registro en el libro de remuneraciones
    - Manejo de tablas de información


Prerequisitos
    - Python3