Delphi TWebBrowser Javascript Captcha не работает - PullRequest
1 голос
/ 26 октября 2019

С помощью TWebBrowser в форме я перехожу на веб-сайт, который представляет капчу. По какой-то причине капча не работает, когда страница загружается в TWebBrowser. Эта специальная капча хочет, чтобы пользователь перетаскивал слайдер, но в TWebBrowser слайдер не перетаскиваетсяКогда страница загружается непосредственно в IE / Firefox / Chrome, капча работает без проблем.

Мне известны проблемы FEATURE_BROWSER_EMULATION, и для реестра delphi установлено значение 11001 (0x2AF9) для принудительной эмуляции IE11и любые другие мыслимые значения безрезультатно.

Простое приложение Delphi выглядит следующим образом.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    procedure FormShow(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
 WebBrowser1.Navigate('https://bio.visaforchina.org/#/nav/quickSelection?visacenterCode=DUS2&request_locale=de_DE&site_alias=DUS2_DE');
end;

end.

Чтобы установить режим эмуляции IE11, учитывая, что тестовое приложение Delphi называется «Project1»,Вы можете использовать следующий параметр реестра:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"Project1.exe"=dword:00002af9

Чтобы перейти к капче, перейдите по этому URL-адресу с помощью приложения Delphi или вручную в любом браузере. Не беспокойтесь, URL-адрес в безопасности. Это китайский орган по выдаче виз.

https://bio.visaforchina.org/#/nav/quickSelection?visacenterCode=DUS2&request_locale=de_DE&site_alias=DUS2_DE

  • Затем в левом нижнем углу нажмите «Новая форма заявки»
  • Прокрутите страницу вниз и нажмите «Согласитесь "
  • Прокрутите вниз и нажмите кнопку-переключатель" Запустить новую форму заявки "
  • Снова прокрутите вниз и нажмите большую синюю кнопку" Запустить новую форму заявки "
  • Вверхукнопки, загадка капчи появится.
  • Попробуйте перетащить ползунок (то есть стрелку слева от того места, где написано «перетащить в пазл»). Он не будет работать при запуске с TWebBrowser.

Среда - Win 10 1903, Delphi 2009.

Любая помощь будет очень цениться. Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...