Если я вручную нажму на button1
, а затем на button2
Я получаю весь код html (410 KiB). Однако, если я попытаюсь автоматизировать этот процесс с помощью приведенного ниже кода, я получаю только часть его, без html, сгенерированного javascript (40 KiB).Загрузить html, сгенерированный скриптом
Да, я попробовал положить form1.Button2.Click; OnDocumentComplete, но все же было написано только 40 KiB. Есть ли способ ждать выполнения javascript?
Ps. Не воспринимайте этот код слишком серьезно. Я просто изучил несколько вещей с помощью простого грязного примера кода.
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.EmbeddedWB1.Navigate('https://www.themoviedb.org/movie/87101-terminator-genisys/posters');
while EmbeddedWB1.ReadyState < READYSTATE_COMPLETE do Application.ProcessMessages;
form1.Button2.Click;
end;
procedure TForm1.Button2Click(Sender: TObject);
var Doc: IHtmlDocument2;
begin
Doc := EmbeddedWB1.Document as IHtmlDocument2;
Memo1.Lines.Text := Doc.body.innerHTML;
memo1.Lines.SaveToFile('C:\...\MoviePosters.html');
end;