Diese Bibliothek wurde von Selenium und Puppenspieler inspiriert
TswebDriver4Delphi ist ein Projekt, das eine Vielzahl von Tools zusammenfasst, die die Automatisierung der Webbrowser -Automatisierung ermöglichen (vorerst nur Chrome). Es bietet speziell eine Infrastruktur für die W3C -Webdriver -Spezifikation. Mit einem ähnlichen Ansatz wie Selen ermöglicht TSWebDriver4Delphi die Automatisierung von Interaktionen mit Benutzeroberflächenelementen, wodurch Tests effizienter und zuverlässiger werden.
Webdriver ist eine Fernbedienungsschnittstelle, die die Introspektion und Kontrolle von Benutzeragenten ermöglicht. Es bietet ein Plattform- und Sprachneutral-Drahtprotokoll, um außerhalb der Prozessprogramme das Verhalten von Webbrowsern aus der Ferne zu unterweisen.
Stellen Sie sich eine Reihe von Schnittstellen zur Verfügung, um DOM -Elemente in Webdokumenten zu entdecken und zu manipulieren und das Verhalten eines Benutzeragenten zu steuern. Es soll in erster Linie den Webautoren ermöglichen, Tests zu schreiben, die einen Benutzeragenten aus einem separaten Steuerungsprozess automatisieren, aber auch so verwendet werden können, dass In-Browser-Skripte einen-möglicherweise separaten-Browser steuern.
Die Konzeption dieses Projekts stammt aus der Notwendigkeit, auf einer bestimmten Website "Web Scraping" durchzuführen. Obwohl es zahlreiche Optionen für diese Aufgabe gibt, wie Selen mit Python, Puppenspieler in Node.js und Dramatikern in C#, stellte sich die Frage: Was ist mit Delphi? Ich habe mich entschlossen, nicht auf das renommierte CEF4Delphi zurückzugreifen und eine leichtere Alternative mit weniger Abhängigkeiten zu suchen. Ich wollte eine Lösung, die die Anforderungen effizient angeht und eine agilere und unkompliziertere Erfahrung lieferte. In diesem Szenario habe ich dieses Tool in Delphi entwickelt, um meine Arbeit zu vereinfachen.
️ Attention: The project is still in the alpha stage. Classes and methods may undergo changes during development.
Klonen Sie das Repository und stellen Sie sicher, dass die Abhängigkeiten auf dem neuesten Stand sind
git clone [email protected]:GabrielTrigo/TSWebDriver4Delphi.git
git submodule init
git submodule update
Besuchen Sie die offizielle Download -Seite des Webdrivers Ihres Browsers (derzeit nur für Chrome) und laden Sie den Treiber herunter, der der auf Ihrem Computer installierten Version entspricht.
Um Ihre Chrome -Browser -Version zu finden, befolgen Sie die folgenden Schritte: Gehen Sie zu Einstellungen> Hilfe> über Google Chrome. Zum Beispiel könnte die Version etwa 121.0.6167.140 (offizieller Build) 64-Bit sein. Stellen Sie sicher, dass Sie den Webdriver herunterladen, der dieser spezifischen Version entspricht, um eine ordnungsgemäße Integration in Ihre Entwicklungsumgebung zu gewährleisten.
Chrome WebDriver Downloads
var
FDriver: ITSWebDriverBase;
FChromeDriver: ITSWebDriverBrowser;
begin
FDriver := TTSWebDriver.New.Driver();
FDriver.Options.DriverPath( ' your-pathwebdriver.exe ' );
FChromeDriver := FDriver.Browser().Chrome();
end ; ? Siehe Beispielprojekt ( exampleExampleTSWebDriver ) und das Testprojekt ( testTSWebDriver4DelphiTests )
Mercado Livre Site abkratzen 
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();