Здравствуйте!
Помогите пожалуйста с реализацией одной задачи на delphi 10, сам никак не могу разобраться.
Использую компонент Chronium мне нужно получить исходный код\содержимое всплывающего по js скрипту окна в Memo.
Например кликаешь на кнопку войти и всплывает форма входа.
Вот этот код позволяет получить содержимое только основной страницы
Можно конечно сделать через костыли, при появлении js окна выделить все, скопировать и вставить.
Но это очень ненадежно и криво. Буду раз любой помощи! Скрин примера-окна в прикрепленном файле
Помогите пожалуйста с реализацией одной задачи на 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; |