Delphi 10 Chronium + JS

joker777

Ефрейтор
Сообщения
9
Реакции
0
Здравствуйте!
Помогите пожалуйста с реализацией одной задачи на delphi 10, сам никак не могу разобраться.
Использую компонент Chronium мне нужно получить исходный код\содержимое всплывающего по js скрипту окна в Memo.
Например кликаешь на кнопку войти и всплывает форма входа.

Вот этот код позволяет получить содержимое только основной страницы



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public
{ Public declarations }
HTML:ustring;
...
procedure ShowSource(const SRC: ustring);
begin
Form1.HTML:=SRC;
end;


procedure TForm1.ChromLoadEnd(Sender: TObject; const browser: ICefBrowser;
const frame: ICefFrame; httpStatusCode: Integer);
begin
// это событие срабатывает, когда документ загружен
if (browser <> nil) and (browser.Identifier = Chrom.BrowserId) and
((frame = nil) or (frame.IsMain))
then
Chrom.Browser.MainFrame.GetSourceProc(ShowSource);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add(HTML);
end;

Можно конечно сделать через костыли, при появлении js окна выделить все, скопировать и вставить.
Но это очень ненадежно и криво. Буду раз любой помощи! Скрин примера-окна в прикрепленном файле


1
2
3
Chromium1.browser.MainFrame.SelectAll;
Chromium1.browser.MainFrame.Copy;
Memo1.PasteFromClipboard;