Esta biblioteca fue inspirada en Selenium y Puppeteer
Tswebdriver4Delphi es un proyecto que encapsula una variedad de herramientas que habilitan la automatización del navegador web (por ahora, solo Chrome). Proporciona específicamente una infraestructura para la especificación W3C WebDriver. Con un enfoque similar al selenio, Tswebdriver4Delphi permite la automatización de interacciones con elementos de la interfaz de usuario, haciendo que las pruebas sean más eficientes y confiables.
WebDriver es una interfaz de control remoto que permite la introspección y el control de los agentes de los usuarios. Proporciona un protocolo de alambre neutral de plataforma y lenguaje como una forma de programas fuera de proceso para instruir de forma remota el comportamiento de los navegadores web.
Proporcionado es un conjunto de interfaces para descubrir y manipular elementos DOM en documentos web y controlar el comportamiento de un agente de usuario. Se pretende principalmente permitir que los autores web escriban pruebas que automatizan a un agente de usuarios desde un proceso de control separado, pero también se puede usar de tal manera que permita que los scripts en el navegador controlen un navegador, posiblemente separado,.
La concepción de este proyecto se originó a partir de la necesidad de realizar "raspado web" en un sitio web específico. Aunque existen numerosas opciones para esta tarea, como Selenium con Python, Puppeteer en Node.js y dramaturgo en C#, la pregunta surgió: ¿Qué pasa con Delphi? Elegí no recurrir al reconocido Cef4delphi, buscando una alternativa más ligera con menos dependencias. Quería una solución que abordara eficientemente las demandas, proporcionando una experiencia más ágil y sin complicaciones. En este escenario, desarrollé esta herramienta en Delphi para simplificar mi trabajo.
️ Attention: The project is still in the alpha stage. Classes and methods may undergo changes during development.
Clonar el repositorio y asegurarse de que las dependencias estén actualizadas
git clone [email protected]:GabrielTrigo/TSWebDriver4Delphi.git
git submodule init
git submodule update
Visite la página de descarga oficial del WebDriver de su navegador (actualmente, solo para Chrome) y descargue el controlador que corresponde a la versión instalada en su computadora.
Para encontrar su versión del navegador Chrome, siga estos pasos: vaya a Configuración> Ayuda> Acerca de Google Chrome. Por ejemplo, la versión podría ser como 121.0.6167.140 (construcción oficial) de 64 bits. Asegúrese de descargar el webdriver que coincida con esta versión específica para garantizar una integración adecuada con su entorno de desarrollo.
Descargas de Chrome WebDriver
var
FDriver: ITSWebDriverBase;
FChromeDriver: ITSWebDriverBrowser;
begin
FDriver := TTSWebDriver.New.Driver();
FDriver.Options.DriverPath( ' your-pathwebdriver.exe ' );
FChromeDriver := FDriver.Browser().Chrome();
end ; ? Consulte el proyecto de ejemplo ( exampleExampleTSWebDriver ) y el proyecto de prueba ( testTSWebDriver4DelphiTests )
Sitio de Livre de raspado Mercado 
FChromeDriver.NavigateTo( ' https://letcode.in/elements ' );
FChromeDriver.WaitForPageReady();
LElement := FChromeDriver.FindElement(FBy.ClassName( ' search-box__input ' ));
LElement.SendKeys( ' automate ' );
FChromeDriver.WaitForSelector( ' .search-box__link ' );
LElement := FChromeDriver.FindElement(FBy.ClassName( ' search-box__link ' ));
LElement.Click();