Как привести ОК в диалоговом окне подтверждения JavaScript Chromium Cef3 - PullRequest
1 голос
/ 11 октября 2019

Я сканирую определенную веб-страницу, которая требует от меня нажатия кнопки «ОК» в диалоговом окне подтверждения JavaScript, прежде чем показывать его содержимое. Я знаю, как автоматизировать нажатие на кнопку HTML, но не диалог JS. Я попытался:

procedure TMainForm.crmJsdialog(Sender: TObject; const browser: ICefBrowser;
  const originUrl, acceptLang: ustring; dialogType: TCefJsDialogType;
  const messageText, defaultPromptText: ustring; callback: ICefJsDialogCallback;
  out suppressMessage, Result: Boolean);
begin
  Result := True;
end;

, но он только подавил диалоговое окно подтверждения и не перешел на следующую страницу.
Я использую cef3 в XE7, если это поможет.
Заранее спасибо.

1 Ответ

0 голосов
/ 11 октября 2019

Я попытался поиграть с обратным вызовом параметра:

procedure TMainForm.crmJsdialog(Sender: TObject; const browser: ICefBrowser;
  const originUrl, acceptLang: ustring; dialogType: TCefJsDialogType;
  const messageText, defaultPromptText: ustring; callback: ICefJsDialogCallback;
  out suppressMessage, Result: Boolean);
begin
  if dialogType = TCefJsDialogType.JSDIALOGTYPE_CONFIRM then
  begin
    callback.Cont(True, '');
    Result := True;
  end;
end;

и получил желаемые результаты. Код работает в мою сторону до сих пор .. Протестировано.

...