Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [C#] Wypełnienia formularza html
Forum PHP.pl > Inne > Hydepark
PawelC
Mam pytanko bo nie mogę dojść co jak, mam w programie wbudowaną przeglądarkę, wchodzę np na swój katalog i chciałbym aby pola były automatycznie wypełnione, a ja tylko sobie przepisuje token na swoim katalogu i to wszystko. Jak można coś takiego osiągnąć?

Oczywiście dane jakie miałyby być w programie mam zdefiniowane np w bazie.

Podam prosty przykład:
W programie mam kontrolkę webbrowser, wpisuję adres do swojego katalogu, wchodzę do niego, przechodzę do formularza i tam są pola do wypełnienia, a ja chciałbym aby po wejściu na podstronę z formularzem, pola te automatycznie zostały wypełnione. Nie chodzi mi o to, aby już automatycznie dodał wpis, tylko wypełnił formularz, a mi jedynie żeby zostało przepisanie tokena i zatwierdzenie.

Kombinowałem i nic Sad
Mam taki kod

Kod
Uri uri = new Uri("http://www.link-bait.pl/dodaj-link.php");

            webBrowser1.Url = uri;

            webBrowser1.Document.All["anchor"].InnerText = textBox1.Text;


Przeglądarka wywala mi takie info w okienku:
Cytat
documents.forms.0.opis.value jest pusty lub nie jest obiektem

A aplikacja pokazuje mi taki komunikat:
http://img25.imageshack.us/img25/8494/scre...01006011219.gif
batman
Nie to forum wybrałeś smile.gif

Sprawdź czy zadziała takie coś. Mógł się gdzies wkraść błąd, ponieważ nie testowałem na kompilatorze.

[CSHARP] pobierz, plaintext
  1. HtmlElement el = webBrowser1.Document.GetElementById("tutaj_id_elementu");
  2. if(el != null)
  3. {
  4. el.SetAttribute("value", "jakaś zawartość");
  5. }
[CSHARP] pobierz, plaintext
PawelC
Zrobiłem przechwytywanie błędów i wyskakuje cały czas to:
http://img97.imageshack.us/img97/6512/scre...01006011453.gif
batman
Sprawdź nazwy, czy nie ma literówek i ustaw break point na dodane wiersze i sprawdź po kolei gdzie masz null. Pewnie chodzi o to, że jakaś zmienna nie zawiera obiektu (ma wartość null).
PawelC
Wywaliło mi NULL w tej linii zaznaczonej na żółto: http://img717.imageshack.us/img717/629/scr...01006011519.gif
batman
Najwyraźniej nie ma elementu o takim id.
PawelC
Problem w tym, że jest ale trudno coś wykombinuje
batman
W takiej sytuacji widzę dwa powody problemu:
- kod HTML jest niepoprawny, przez co parser ma problem ze znalezieniem odpowiedniego elementu
- próbujesz odczytać dane zanim strona się załadowała
PawelC
Dokładnie problemem było to że odwoływałem się do elementu, pomimo tego, że strona nie została wczytana. Teraz już wszystko śmiga smile.gif
phpion
Przepraszam, że się wtrącam, ale chyba ktoś konkretnie poszalał z "Pomógł"... jak dla mnie to lekkie przegięcie.
batman
Cytat(phpion @ 1.06.2010, 15:55:23 ) *
Przepraszam, że się wtrącam, ale chyba ktoś konkretnie poszalał z "Pomógł"... jak dla mnie to lekkie przegięcie.

Boisz się, że ktoś będzie miał więcej od Ciebie? winksmiley.jpg

Usunąłem nadmiarowe Pomógł. Raz wystarczy smile.gif
phpion
No, teraz oddaliłeś się na bezpieczną odległość cool.gif
PawelC
Heh sorki smile.gif Batman mam jeszcze jeden problem, w tej aplikacji szuka mi elementów formularza pod ID, a jak szukać po name i je wypełniać?
batman
W takim wypadku musisz użyć właściwości All. Przykład jej zastosowania znajdziesz na MSDN:
http://msdn.microsoft.com/en-us/library/sy...=VS.100%29.aspx
http://msdn.microsoft.com/en-us/library/sy...r.document.aspx
PawelC
Już sobie poradziłem biggrin.gif tak wygląda półautomat w 3h http://www.youtube.com/watch?v=PBeqbboRsE8 bez ustawienia co i jak ma wyglądać, a tak wygląda aktualnie: http://img691.imageshack.us/img691/1772/sc...01006012155.gif

Coś trzeba robić, żeby nabyć doświadczenie, a taki półautomat wymaga trochę wiedzy i czasu smile.gif
mat2501
Mam podobny problem co ExPlOiT z ta różnicą, że chciałem zrobić pełny automat.
Po wypełnieniu formulaża program ma wcisnaś submit.

wypelnienie formulaża mam - tylko jak zautomatyzować wciskanie guzika??
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.