WebBrowser problem z auto kliknieciem.

0

Witam mam problem ponieważ piszę program który ma za zadanie uzupełniać formularz na mojej witrynie internetowej i następnie dodawać dane do bazy mysql. Lecz problem tkwi w tym że nie wiem w jaki sposób zrobić aby klikniecie w submit odbywało się automatycznie bez żadnej komunikacji z użytkownikiem.
Mam coś takiego do wypełania pól:

FillForm(WebBrowser1, 'dane', 'jakies');
FillForm(WebBrowser1, 'dane2', 'jakieś dane');

No i w jaki sposób i gdzie należy dodać do onclick, onchange, oncreate aby działało mi auto klikniecie w mój button na stronie www.

Proszę o gotową linijkę kodu.

Odświeżam :)

0

Odświeżam. Czy jest ktoś w stanie mi pomóc czy raczej nie znajdę tutaj odpowiedzi na moje pytanie ?

0

A czy nie możesz wysyłać danych metodą POST tak jak robi to formularz po kliknięciu przycisku, bo wtedy nie musisz ubijać muchy za pomocą armaty czyli zamiast zaprzęgania TWebBrowser zależnego od zainstalowanego w systemie IE, korzystasz z mniejszego i prostszego Synapse opartego na Socketach - więcej w moim artykule na: http://4programmers.net/Delphi/Artykuły/Obsługa_protokołu_HTTP_przy_użyciu_pakietu_Synapse a jeśli nie to może ktoś jeszcze tutaj Tobie doradzi, ale widać nie ma tutaj zbyt wielu amatorów na ubijanie much z armaty.

0

A czy mógł byś mi napisać jak by to mogło wyglądać ? chodzi o że program ma auto wypełniać pola następnie kliknąć w button i wysłać dane do mojej bazy danych.

0

Nie wiem jak wysyłasz dane do tej bazy, ale pewnie za dodanie odpowiada jakiś skrypt na przykład php, który wysyła te dane najprawdopodobniej metodą POST, pod Synapse musisz postarać się wysłać takie same dane. Jako autor formularza sam dobrze wiesz jak te dane i jakie są wysyłane. Bo bez sensu zaprzęgać do tego TWebBrowser. Jeżeli strona nie korzysta z javascriptu to śmiało da się to na pewno zrobić pod Synapse, a przynajmniej możesz zawsze spróbować. Szczegóły w dokumentacji i przykładach dołaczonych do pakietu oraz po części w moim artykule, do którego link podałem wcześniej. I zawsze dane wysyłane przez formularz mozesz podejrzeć debuggerem HTTP lub najprościej jakimś Snifferem na przykład WireSharkiem, jeżeli chcesz wiedzieć jak to wysyłanie wykonuje prawdziwa przeglądarka WWW, a póżniej pod Synapse musisz postarać wysłać się to samo albo bardzo zbliżone (często "bogate" nagłowki z accepted i tym podobnymi polami nie są potrzebne, bo ich istnienia serwer nie sprawdza, ale czasami może to robić). W przypadku jeżeli jesteś autorem strony to powinieneś wiedzieć co i jak się odbywa po stronie serwera jeśli chodzi o kod strony.

0

Nie ogarniam tego i nie wiem jak to napisać. Synapse to dla mnie czarna magia :(

0

To ja na to nic nie poradzę. Ten artykuł pisałem najprościej jak się dało. Jeżeli nie umiesz ani użyć Synapse, ani TWebBrowser mimo że sam jesteś autorem strony z formularzem i bazą, do której coś tam dodajesz, to pewnie musisz sobie darować programowanie skoro mimo dostępnych w sieci porad nadal nie wiesz co i jak, bo ja nic więcej nie wymyślę żeby Tobie jakoś pomóc ;/

0

Nie wiem o co chodzi dokładnie autorowi tego posta, ale się domyślam :) Dołączam się więc z moim pytaniem:

Mam Forma na nim WebBrowser i chciałbym wypełnić znane mi pola wartościami (string) z mojego programu. Podkreślam, że nie jest to "jakaś" strona, tylko znana mi strona i znam nazwy pól w kodzie formularza HTML. Czyli chce zrobić coś na wzór "podpowiadania" treści jaką mają przeglądarki (np. przypominają adresy e-mail, hasła, loginy,....).

Jak to zrobić w C#? Metoda z POST-em chyba odpada. Jedna strona jest w PHP (i ma stały adres, to znaczy nie ma parametrów typu: klucz, np. www.fdfdsfds.pl/key?=**klucz**). A druga jest w ASP i w ogóle adres się nie zmienia (w przeglądarce jest cały czas www.domena.pl).

Jeszcze dodam: art. (http://4programmers.net/Delphi/Artyku%C5%82y/Obs%C5%82uga_protoko%C5%82u_HTTP_przy_u%C5%BCyciu_pakietu_Synapse) autorstwa OLESIO, jest bardzo dobry (profi), ale chyba jest zrobiony maksymalnie uniwersalny, ja potrzebowałbym coś tylko pod dwie, trzy stronki www (na własne potrzeby) i bez zewnętrznych pakietów typu Synapse. Da się? Naprowadźcie mnie chociaż, jak to zrobić (w kilku krokach).

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