该图书馆的灵感来自硒和木偶
TSWEBDRIVER4DELPHI是一个封装了启用Web浏览器自动化的各种工具(目前,仅Chrome)。它专门为W3C WebDriver规范提供了基础架构。通过类似于硒的方法,tswebdriver4delphi允许与用户界面元素进行交互自动化,从而使测试更加有效和可靠。
WebDriver是一个遥控界面,可以内省和控制用户代理。它提供了一种平台和语言中性的电线协议,作为程序外程序以远程指导Web浏览器的行为的一种方式。
提供是一组界面,可以在Web文档中发现和操纵DOM元素并控制用户代理的行为。它主要旨在允许Web作者编写从单独的控制过程中自动化用户代理的测试,但也可以以允许浏览器脚本控制A(可能是单独的 - 浏览器)的方式使用。
该项目的概念源于需要在特定网站上执行“网络刮擦”。尽管此任务有许多选择,例如python的硒,node.js中的puppeteer和c#中的剧作家,但出现了问题:delphi呢?我选择不诉诸于著名的CEF4Delphi,寻求更轻的替代方案。我想要一种有效解决需求的解决方案,提供更敏捷和简单的体验。在这种情况下,我在Delphi开发了此工具,以简化我的工作。
️ Attention: The project is still in the alpha stage. Classes and methods may undergo changes during development.
克隆存储库并确保依赖关系是最新的
git clone [email protected]:GabrielTrigo/TSWebDriver4Delphi.git
git submodule init
git submodule update
访问浏览器的WebDriver的官方下载页面(目前仅用于Chrome),然后下载与计算机上安装的版本相对应的驱动程序。
要查找您的Chrome浏览器版本,请按照以下步骤:转到“设置”>“帮助>有关Google Chrome”。例如,该版本可能是121.0.6167.140(官方构建)64位。确保下载与此特定版本匹配的网络驱动器,以确保与开发环境的正确集成。
Chrome WebDriver下载
var
FDriver: ITSWebDriverBase;
FChromeDriver: ITSWebDriverBrowser;
begin
FDriver := TTSWebDriver.New.Driver();
FDriver.Options.DriverPath( ' your-pathwebdriver.exe ' );
FChromeDriver := FDriver.Browser().Chrome();
end ; ?请参阅示例项目( exampleExampleTSWebDriver )和测试项目( testTSWebDriver4DelphiTests )
刮擦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();