Perpustakaan ini terinspirasi oleh selenium dan dalang
Tswebdriver4Delphi adalah proyek yang merangkum berbagai alat yang memungkinkan otomatisasi browser web (untuk saat ini, hanya chrome). Ini secara khusus menyediakan infrastruktur untuk spesifikasi Webdriver W3C. Dengan pendekatan yang mirip dengan Selenium, Tswebdriver4Delphi memungkinkan otomatisasi interaksi dengan elemen antarmuka pengguna, membuat tes lebih efisien dan dapat diandalkan.
WebDriver adalah antarmuka remote control yang memungkinkan introspeksi dan kontrol agen pengguna. Ini menyediakan protokol kawat platform dan bahasa-netral sebagai cara bagi program di luar proses untuk menginstruksikan perilaku browser web dari jarak jauh.
Disediakan adalah seperangkat antarmuka untuk menemukan dan memanipulasi elemen DOM dalam dokumen web dan untuk mengontrol perilaku agen pengguna. Ini terutama dimaksudkan untuk memungkinkan penulis web menulis tes yang mengotomatiskan agen pengguna dari proses pengendalian yang terpisah, tetapi juga dapat digunakan sedemikian rupa sehingga memungkinkan skrip dalam browser untuk mengontrol browser yang terpisah-mungkin terpisah.
Konsepsi proyek ini berasal dari kebutuhan untuk melakukan "pengikisan web" di situs web tertentu. Meskipun ada banyak pilihan untuk tugas ini, seperti Selenium dengan Python, Puppeteer di Node.js, dan Playwright di C#, muncul pertanyaan: Bagaimana dengan Delphi? Saya memilih untuk tidak menggunakan CEF4Delphi yang terkenal, mencari alternatif yang lebih ringan dengan lebih sedikit ketergantungan. Saya ingin solusi yang secara efisien menangani tuntutan, memberikan pengalaman yang lebih gesit dan tidak rumit. Dalam skenario ini, saya mengembangkan alat ini di Delphi untuk menyederhanakan pekerjaan saya.
️ Attention: The project is still in the alpha stage. Classes and methods may undergo changes during development.
Klon Repositori dan pastikan bahwa dependensi terbaru
git clone [email protected]:GabrielTrigo/TSWebDriver4Delphi.git
git submodule init
git submodule update
Kunjungi halaman unduhan resmi dari webdriver browser Anda (saat ini, hanya untuk Chrome) dan unduh driver yang sesuai dengan versi yang diinstal di komputer Anda.
Untuk menemukan versi browser Chrome Anda, ikuti langkah -langkah ini: Buka Pengaturan> Bantuan> Tentang Google Chrome. Misalnya, versi mungkin seperti 121.0.6167.140 (Bangunan resmi) 64-bit. Pastikan untuk mengunduh webdriver yang cocok dengan versi spesifik ini untuk memastikan integrasi yang tepat dengan lingkungan pengembangan Anda.
Unduhan Webdriver Chrome
var
FDriver: ITSWebDriverBase;
FChromeDriver: ITSWebDriverBrowser;
begin
FDriver := TTSWebDriver.New.Driver();
FDriver.Options.DriverPath( ' your-pathwebdriver.exe ' );
FChromeDriver := FDriver.Browser().Chrome();
end ; ? Lihat Contoh Proyek ( exampleExampleTSWebDriver ) dan Proyek Uji ( testTSWebDriver4DelphiTests )
Mengikis Situs 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();