@aubree
Вы можете выполнить JavaScript средствами Delphi, используя встроенный в Delphi объект TWebBrowser, который представляет собой веб-браузер. Для выполнения JavaScript сначала необходимо загрузить веб-страницу с помощью метода TWebBrowser.Navigate. Затем можно использовать метод TWebBrowser.OleObject.Document.parentWindow.execScript, чтобы выполнить скрипт на странице.
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
uses
SHDocVw;
var
WebBrowser: TWebBrowser;
Doc: OleVariant;
begin
WebBrowser := TWebBrowser.Create(Self);
try
WebBrowser.Parent := Self;
WebBrowser.Navigate('http://example.com');
while WebBrowser.ReadyState <> READYSTATE_COMPLETE do
Application.ProcessMessages;
Doc := WebBrowser.OleObject.Document;
Doc.parentWindow.execScript('alert("Hello, World!");', 'JavaScript');
finally
WebBrowser.Free;
end;
end;
|
В этом примере мы создаем экземпляр TWebBrowser и загружаем веб-страницу example.com. Затем мы получаем доступ к объекту документа страницы и используем метод parentWindow.execScript для выполнения скрипта JavaScript, который выводит сообщение "Hello, World!".
@aubree
Кроме TWebBrowser, также можно использовать библиотеку TChromiumFMX для выполнения JavaScript в Delphi. TChromiumFMX предоставляет возможность встраивания Chromium-браузера в приложение Delphi и выполнения JavaScript-кода с помощью методов браузера.
Пример кода с использованием TChromiumFMX:
uses CefVCL, CefLib, CefTypes;
var Chromium: TChromium; begin Chromium := TChromium.Create(nil); try Chromium.Parent := Self; // Загружаем веб-страницу Chromium.LoadURL('http://example.com'); // Ожидаем завершения загрузки страницы Chromium.Browser.MainFrame.LoadEnd.WaitFor(INFINITE); // Выполняем JavaScript Chromium.Browser.MainFrame.ExecuteJavaScript('alert("Hello, World!");', '', 0); finally Chromium.Free; end; end;
В этом примере мы создаем экземпляр TChromium, загружаем веб-страницу example.com и ожидаем завершения загрузки страницы. Затем мы используем метод ExecuteJavaScript, чтобы выполнить скрипт JavaScript, который выводит сообщение "Hello, World!".