implementation
uses Webdriver4L;
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button2Click(Sender: TObject);
const CacheDlg = 'return document.querySelector(''settings-ui'')' +
'.shadowRoot.querySelector(''settings-main'')' +
'.shadowRoot.querySelector(''settings-basic-page'')' +
'.shadowRoot.querySelector(''settings-section > settings-privacy-page'')' +
'.shadowRoot.querySelector(''settings-clear-browsing-data-dialog'')';
const btClear = '.shadowRoot.querySelector(''#clearBrowsingDataDialog'')' +
'.querySelector(''#clearBrowsingDataConfirm'')';
const chkboxH1 = '.shadowRoot.querySelector(''iron-pages'')' +
'.querySelector(''#browsingCheckboxBasic'')';
const chkboxH2 = '.shadowRoot.querySelector(''iron-pages'')' +
'.querySelector(''#cookiesCheckboxBasic'')';
const chkboxH3 = '.shadowRoot.querySelector(''iron-pages'')' +
'.querySelector(''#cacheCheckboxBasic'')';
var Robot2 : TWebDriver;
Element : TWebElement;
png : TPortableNetworkGraphic;
begin
Robot2 := TChromeDriver.Create(nil);
Robot2.StartDriver('chromedriver');
Sleep(5000);
Robot2.NewSession;
Robot2.Implicitly_Wait(1000);
Robot2.Set_Window_Size(640, 640);
Robot2.GetURL('chrome://settings/clearBrowserData');
Sleep(2000);
Robot2.ScreenShot('clearBrowserData1.png');
Element := Robot2.FindElementByXPath('//settings-ui');
Element.ElementData := Robot2.ExecuteScript(CacheDlg + chkboxH1 + ';');
Memo1.Append('Etiquette case à cocher 1 : ' + Element.AttributeValue('label'));
if Element.PropertyValue('checked') = 'True' then Element.Click();
Sleep(1000);
Element.ElementData := Robot2.ExecuteScript(CacheDlg + chkboxH2 + ';');
Memo1.Append('Etiquette case à cocher 2 : ' + Element.AttributeValue('label'));
if Element.PropertyValue('checked') = 'True' then Element.Click();
Sleep(1000);
Element.ElementData := Robot2.ExecuteScript(CacheDlg + chkboxH3 + ';');
Memo1.Append('Etiquette case à cocher 3 : ' + Element.AttributeValue('label'));
if Element.PropertyValue('checked') = 'False' then Element.Click();
Sleep(1000);
Robot2.ScreenShot('clearBrowserData2.png');
Element.ElementData := Robot2.ExecuteScript(CacheDlg + btClear + ';');
Element.Click();
Application.ProcessMessages;
Sleep(10000);
Robot2.Clear;
png := TPortableNetworkGraphic.Create;
png.Assign(Self.GetFormImage);
png.SaveToFile('clearBrowserDataLazForm.png');
png.free;
end;