Как выполнить javascript средствами delphi?

Пользователь

от aubree , в категории: JavaScript , 2 года назад

Как выполнить javascript средствами delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от eryn.rodriguez , 2 года назад

@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!".

Пользователь

от marlen , 10 месяцев назад

@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!".