ห้องสมุดนี้ได้รับแรงบันดาลใจจากซีลีเนียมและหุ่นเชิด
TSWEBDRIVER4DELPHI เป็นโครงการที่ห่อหุ้มเครื่องมือที่หลากหลายที่เปิดใช้งานเว็บเบราว์เซอร์อัตโนมัติ (สำหรับตอนนี้เฉพาะ Chrome) มันให้โครงสร้างพื้นฐานสำหรับข้อกำหนด W3C WebDriver โดยเฉพาะ ด้วยวิธีการที่คล้ายกับซีลีเนียม TSWEBDRIVER4DELPHI ช่วยให้การโต้ตอบอัตโนมัติกับองค์ประกอบส่วนต่อประสานผู้ใช้ทำให้การทดสอบมีประสิทธิภาพและเชื่อถือได้มากขึ้น
WebDriver เป็นอินเทอร์เฟซรีโมทควบคุมที่ช่วยให้การวิปัสสนาและการควบคุมตัวแทนผู้ใช้ มันมีโปรโตคอลลวดที่เป็นกลางแพลตฟอร์มและภาษาเป็นวิธีสำหรับโปรแกรมนอกกระบวนการเพื่อสอนพฤติกรรมของเว็บเบราว์เซอร์จากระยะไกล
ให้เป็นชุดของอินเทอร์เฟซเพื่อค้นหาและจัดการองค์ประกอบ DOM ในเอกสารเว็บและเพื่อควบคุมพฤติกรรมของตัวแทนผู้ใช้ มีวัตถุประสงค์หลักเพื่อให้ผู้เขียนเว็บเขียนการทดสอบที่ทำให้ตัวแทนผู้ใช้โดยอัตโนมัติจากกระบวนการควบคุมแยกต่างหาก แต่อาจใช้ในลักษณะที่จะอนุญาตให้สคริปต์ในเบราว์เซอร์ในการควบคุมเบราว์เซอร์แยกต่างหาก
ความคิดของโครงการนี้มีต้นกำเนิดมาจากความจำเป็นในการดำเนินการ "การขูดเว็บ" บนเว็บไซต์เฉพาะ แม้ว่าจะมีตัวเลือกมากมายสำหรับงานนี้เช่นซีลีเนียมที่มี Python, Puppeteer ใน node.js และนักเขียนบทละครใน 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 บิต ตรวจสอบให้แน่ใจว่าได้ดาวน์โหลด webDriver ที่ตรงกับเวอร์ชันเฉพาะนี้เพื่อให้แน่ใจว่าการรวมเข้ากับสภาพแวดล้อมการพัฒนาของคุณเหมาะสม
ดาวน์โหลด 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();