[Delphi] "Oszust" - problem z logowaniem.

0

Pisze program, którego zadaniem jest:
1)Uruchomienie okna przeglądarki na formie (TWebBrowser).
2)Załadowanie strony.
3)Zalogowanie się (wpisanie loginu i hasła o raz naciśnięcie przycisku)
4)Pobranie strony na dysk.
5) ... (dalsza przerobka).

Mam problem z punktem 3). Początkowo chciałem jedynie pobrać stronę na dysk, ale niezbędnym okazało sie poprawne zalogowanie. Chce to zrobić poprzez odpowiednie ustawienie pozycji kursora (SetCursorPos) i wymuszenie kliknięcia myszką:
"mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN,120, 45, 0, 0);", a następnie wpisanie z klawiatury odpowiednich danych.
Tu napotkałem dwa problemy:
1 - mouse_event... zawiesza działanie programu w WindowsXP (akurat w moim przypadku, na innych kompach nie sprawdzałem)
2 - Nie wiem jakiej procedury użyć do wpisywania znaków z klawiatury.

Prosze o pomoc, ewentualnie własne propozycje na rozwiązanie tego zagadnienia oraz wszelkie przydatne informacje. Z góry dziękuję.

0

A czy nie dalo by sie tego zrobic za pomoca komponentu INDY (podobnie jak wypeklnic bramke)?

0

Pisze program, którego zadaniem jest:
1)Uruchomienie okna przeglądarki na formie (TWebBrowser).
2)Załadowanie strony.
3)Zalogowanie się (wpisanie loginu i hasła o raz naciśnięcie przycisku)
4)Pobranie strony na dysk.
5) ... (dalsza przerobka).

hmmm.... tak mnie ciekawi, bo jeśli punkt 5) jest celem działania
to punkty 1) 2) 3) 4) są tak jak by od d**py strony to znaczy,
że to można bardziej elegancko zrobić niż wyświetlać strone w
WebBrowser i symulować naciśnięcie przycisku :-D

...tylko właśnie nie wiem czy wyświetlanie tej strony ma jakiś
sens w twoich zamierzeniach co do programu ?

0

Przedstawie zatem krok po kroku co program ma robić.

Mam stronę na któej uruchamiany jest pasek, na którym z kolei znajduje się 7 przycisków. Musze kliknąc na odpowiedni. Za każdym odsłonieniem strony zmienia się zatem przycisk, który muszę kliknąć (prawidłowy). O tym, który przycisk należy kliknąć informuje mnie napis wyświetlany na tej stronie: "Plis click the THIRD/FIRST/SECOND/(itp.) one...". Aby jednak strona wyświetliła się poprawnie trzeba się najpierw zalogować. Inaczej ten "pasek" się w ogóle nie pojawi. Więc działanie mojego programu skupia się na:

  1. Poprawnym zalogowaniu się na stronę (czekam na propozycje :-))
  2. Ściągnięciu kodu źródłowego strony, aby wyszkuać w nim odpowiedniego ciągu znaków (np. THIRD,SECOND,itp.)
  3. W zależnośći od tej wartości ustawić wskaźnik myszki nad danym przyciskiem.
  4. Wymusić kliknięcie.
  5. Odczekanie do momentu gdy załaduje się nowa strona (robi się to automatycznie)
  6. Powtórzenia kroku 2 - 4 określoną liczbę razy.

Mam nadzieję, że teraz jest to jaśniejsze i podacie mi parę pomysłów jak rozwiązać ten problem. Z góry dziękuję.

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