Показать сообщение отдельно
  #7  
Старый 03.11.2022, 19:07
fine fine вне форума
Прохожий
 
Регистрация: 22.10.2022
Сообщения: 4
Версия Delphi: CodeGear™ Delph
Репутация: 10
По умолчанию Мой код

При первой загрузке, или когда я вручную обновляю страницу, то ивент срабатывает.
Может быть не всю страницу загружается при нажатии на btn_find.
Хотя страница iframe не содержит.

Задача усложняется: надо проверить существует ли чекбокс.
Алгоритм такой:
1. взял очередную строку из memo1
2. вводил в поле input_value
3. нажал на btn_find
4. подождал несколько секунд
5. проверил если не существует чекбокс, в memo2 добавляем ту строку.

код такой:

Код:
procedure TForm1.Button6Click(Sender: TObject);
begin
started:=1;
for i := 0 to memo1.lines.Count - 1 do    begin
	js:='document.getElementById("input_value").value="'+memo1.lines[i]+'";document.getElementById("btn_find").click();';
	EdgeBrowser1.ExecuteScript(js);
	Delay(2000);
	js:='t="";s=document.getElementsByName("chbox1")[0];if (s==null) {t="NotFound";} else {document.getElementsByName("chbox1")[0].click();t="Found";}';
	EdgeBrowser1.ExecuteScript(js);
	end;
started:=0;
end;

procedure TForm1.EdgeBrowser1ExecuteScript(Sender: TCustomEdgeBrowser;
  AResult: HRESULT; const AResultObjectAsJson: string);
begin
if (AResultObjectAsJson='NotFound') and ( started>0 ) then  
    memo2.Lines.add(memo1.Lines[i]+'-'+AResultObjectAsJson);
end;
Ответить с цитированием