[DELPHI]Wpisywanie hasła+ING Bank+ TWebBrowser

0

Witam

Piszę sobie program który będzie się logował do moich banków. W czasie pisania napotkałem problem z logowaniem w ING bank śląski (https://ssl.bsk.com.pl/bskonl/index.html).

Dlatego, że po wpisaniu danych do pola hasło(każda literka hasła ma osobne pole) są one przetwarzane przez skrypt w javascript w zdarzeniu onkeypress. A przez moją metode wpisywaniaWB.OleObject.Document.loginForm.passwdo.value := 'a'; nie jest wywołane zdarzenie onkeypress.

Jak to zrobić żeby działało?

0

Rozwiązałbym ten problem o ile bym potrafił z poziomu delphi otworzyć skrypt javascript ale nie wiem jak to zrobić.

0
//--------------------------------------------------------------------------
procedure TForm1.WB3DocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
  procedure ExecuteScript(doc: OleVariant; script: string; language: string);
  var
  win: OleVariant;
  Olelanguage: Olevariant;
  begin
  if not VarIsEmpty(doc) then
    begin
    win := doc.ParentWindow;
    if not VarIsEmpty(win) then
      begin
      Olelanguage := language;
      try
        win.ExecScript(script, Olelanguage);
      except
        end;
      end;
    end;
  end;
  //\\//\\//\\//\\//\\
  procedure wpisz_pole_ing(id,wartosc:string);
  var
  script:string;
  begin
  script := 'var elemMain = document.getElementById("'+id+'"); setFocusField(elemMain); writeToPasswdField("'+wartosc+'");';
  ExecuteScript(WB3.OleObject.Document,script,'JavaScript');
  end;
begin
WB3.Tag := WB3.Tag + 1;
if (WB3.Tag = 1) then
  begin
  WB3.OleObject.Document.loginForm.login.value := 'identyfikator';
  WB3.OleObject.Document.loginForm.submit;
  end;

if (WB3.Tag = 2) then
  begin
  if (WB3.OleObject.Document.loginForm.passwd0.value = '') then
    wpisz_pole_ing('passwd0','x');
  if (WB3.OleObject.Document.loginForm.passwd1.value = '') then
    wpisz_pole_ing('passwd1','x');
  if (WB3.OleObject.Document.loginForm.passwd2.value = '') then
    wpisz_pole_ing('passwd2','x');
  if (WB3.OleObject.Document.loginForm.passwd3.value = '') then
    wpisz_pole_ing('passwd3','x');
  if (WB3.OleObject.Document.loginForm.passwd4.value = '') then
    wpisz_pole_ing('passwd4','x');
  if (WB3.OleObject.Document.loginForm.passwd5.value = '') then
    wpisz_pole_ing('passwd5','x');
  if (WB3.OleObject.Document.loginForm.passwd6.value = '') then
    wpisz_pole_ing('passwd6','x');
  if (WB3.OleObject.Document.loginForm.passwd7.value = '') then
    wpisz_pole_ing('passwd7','x');
  if (WB3.OleObject.Document.loginForm.passwd8.value = '') then
    wpisz_pole_ing('passwd8','x');
  if (WB3.OleObject.Document.loginForm.passwd9.value = '') then
    wpisz_pole_ing('passwd9','x');
  if (WB3.OleObject.Document.loginForm.passwd10.value = '') then
    wpisz_pole_ing('passwd10','x');
  if (WB3.OleObject.Document.loginForm.passwd11.value = '') then
    wpisz_pole_ing('passwd11','x');
  if (WB3.OleObject.Document.loginForm.passwd12.value = '') then
    wpisz_pole_ing('passwd12','x');
  if (WB3.OleObject.Document.loginForm.passwd13.value = '') then
    wpisz_pole_ing('passwd13','x');

  ExecuteScript(WB3.OleObject.Document,'extracheck()','JavaScript');
  end;
end;
//--------------------------------------------------------------------------

Gotowe logowanie na ING dla hasła 14znakowego, temat do zamknięcia

1 użytkowników online, w tym zalogowanych: 0, gości: 1