Download :
*Unit Library Lazarus modif by bpi adalah modifikasi unit dari Jurrasic Pork , karena terjadi kebocoran memory (memory leak)
Link Refrensi:
Sintax XPath
XPath dapat digunakan untuk mendapatkan object/element yg tidak memiliki id , biasanya identifikasi menggunakan class name dan terdapat element dengan nama class yg sama sehingga object tersebut dinamakan Elements sedangkan jika object tersebut tunggal disebut Element.
Xpath =//tagname[@Attribute="value"]
Keterangan
// = Digunakan untuk memilih node saat ini.
tagname = Nama tag dari node tertentu.
@ = Digunakan untuk memilih atribut
Attribute = Nama atribut node.
Value = Nilai atribut > harus diapit tanda petikdua (")
Contoh pemakaian
Uses
WebDriver4L;
Var
Robot : TWebDriver;
SessionID:String;
Obj:TWebElement;
Objs:TWebElements;
URL:String;
Inisialisasi
Robot := TChromeDriver.Create(nil);
Robot.StartDriver(AppFolder+'chromedriver.exe');
FreeMemory
if Robot<>nil then
begin
Robot.DeleteSession(SessionID);
Robot.Quit;
Robot.Free;
end;
NewSession
SessionID:=Robot.NewSession;
eSessionID.Text:=SessionID;
Robot.Implicitly_Wait(2000);
OpenURL
Robot.GetURL(URL);
Command akses element yg sering digunakan
Obj:=Robot.FindElementByID(eKey.Text);
Obj:=Robot.FindElementByTag(eKey.Text);
Obj:=Robot.FindElementByClassName(eKey.Text);
Objs:=Robot.FindElementsByTag(eKey.Text);
Objs:=Robot.FindElementsByXPath(eKey.Text);
Catatan :
-Untuk menggunakan lazarus dengan ChromeDriver , versi Browser Chrome dengan ChromeDriver harus sama
-Element dan Elements adalah object berbeda , Element=tunggal , Elements=jamak
-percobaan Chrome 114, tidak support FindElementsByClassName
-pencarian informasi ; 5/5/2024 belum ketemu fungsi untuk mouseover/mousemove ke chromedriver
beberapa komentar menyatakan chromedriver tidak support mousemove melalui protokol W3C