Esta biblioteca foi inspirada em selênio e marionetista
O Tswebdriver4Delphi é um projeto que encapsula uma variedade de ferramentas que permitem a automação do navegador da web (por enquanto, apenas o Chrome). Ele fornece especificamente uma infraestrutura para a especificação do Webdriver W3C. Com uma abordagem semelhante ao selênio, o TSWebDriver4Delphi permite a automação de interações com elementos da interface do usuário, tornando os testes mais eficientes e confiáveis.
O WebDriver é uma interface de controle remoto que permite introspecção e controle de agentes de usuários. Ele fornece um protocolo de arame neutro em plataforma e linguagem como uma maneira de programas fora de processo instruirem remotamente o comportamento dos navegadores da Web.
Fornecido é um conjunto de interfaces para descobrir e manipular elementos DOM nos documentos da Web e controlar o comportamento de um agente do usuário. Ele se destina principalmente a permitir que os autores da Web escrevam testes que automatizam um agente do usuário de um processo de controle separado, mas também podem ser usados de forma a permitir que os scripts no navegador controlem um navegador-possivelmente separado.
A concepção deste projeto se originou da necessidade de executar "raspagem na web" em um site específico. Embora existam inúmeras opções para esta tarefa, como o selênio com Python, marionetistas no Node.js e dramaturgo em C#, surgiu a pergunta: e Delphi? Eu optei por não recorrer ao renomado CEF4Delphi, buscando uma alternativa mais leve com menos dependências. Eu queria uma solução que atendesse com eficiência às demandas, proporcionando uma experiência mais ágil e não complicada. Nesse cenário, desenvolvi essa ferramenta em Delphi para simplificar meu trabalho.
️ Attention: The project is still in the alpha stage. Classes and methods may undergo changes during development.
Clone o repositório e garanta que as dependências estejam atualizadas
git clone [email protected]:GabrielTrigo/TSWebDriver4Delphi.git
git submodule init
git submodule update
Visite a página de download oficial do webdriver do seu navegador (atualmente, apenas para o Chrome) e faça o download do driver que corresponde à versão instalada no seu computador.
Para encontrar sua versão do navegador Chrome, siga estas etapas: vá para Configurações> Ajuda> Sobre o Google Chrome. Por exemplo, a versão pode ser algo como 121.0.6167.140 (compilação oficial) de 64 bits. Certifique -se de baixar o WebDriver que corresponde a esta versão específica para garantir a integração adequada com seu ambiente de desenvolvimento.
Downloads do Chrome Webdriver
var
FDriver: ITSWebDriverBase;
FChromeDriver: ITSWebDriverBrowser;
begin
FDriver := TTSWebDriver.New.Driver();
FDriver.Options.DriverPath( ' your-pathwebdriver.exe ' );
FChromeDriver := FDriver.Browser().Chrome();
end ; ? Consulte o Projeto Exemplo ( exampleExampleTSWebDriver ) e o projeto de teste ( testTSWebDriver4DelphiTests )
Remando o site do Mercado Livre 
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();