2009-10-02 9 views
8

Muszę programowo zarejestrować się w witrynie. Zrobiłem to z VB6 (przy użyciu komponentu IE Web Browser), ale nie wiem jak edytować pola tekstowe na stronie za pomocą WebBrowser. Nie muszę tego robić z Webbrowser, po prostu wiem, że można z tym zrobić. Po prostu muszę wstawić nazwę użytkownika, hasło itp. Za pomocą mojego programu.Jak zrobić bota internetowego? (lub coś takiego)

Dzięki

+2

Przez "lub coś" masz na myśli: "Chcę zrobić" webowego bota ", czy naprawdę, cokolwiek innego zrobi"? Jeśli tak, upuść pole tekstowe na formularzu, ustaw multiline i zadokuj go, a dostaniesz podróbkę taniego notatnika bez funkcji ładowania lub zapisywania. W każdym razie ... –

Odpowiedz

3

mają również zapoznać się z projektem Watin: http://www.codeproject.com/KB/aspnet/WatiN.aspx

To bardziej przyzwyczajeni do testowania aplikacji internetowej, ale do automatyzacji formularzy internetowych ma ogromne możliwości po wyjęciu z pudełka .

Aby uzyskać bardziej neutralne rozwiązanie, możesz również sprawdzić: http://seleniumhq.org/ Ponownie jest to framework testowania aplikacji internetowych, ale jest przydatny do tego, co chcesz.

HTH Alex

+0

teraz WatiN nie obsługuje najnowszych wersji przeglądarek. Czy istnieje inny produkt bardzo podobny do WatiN? Dzięki – user2167382

3

Spróbuj spojrzeć na WATin. IT pozwoli ci zautomatyzować przeglądarkę z C#.

Posiada również rejestrator, który może być pomocny.

Można użyć HttpWebRequest, ale jeśli składnik open source (Watin) nie jest problem, zadanie zajmie dużo mniej czasu, aby osiągnąć.

Dobroć,

Dan

+0

czy ma wbudowany rejestrator? Ive seen inne projekty, które dodają tę funkcjonalność –

0

Dzięki wszystkim, znalazłem jak to zrobić z WebBrowser ale Watin wygląda lepiej.

webBrowser1.Navigate("http://www.somewebsite.com/register.php"); 
    //Wait until website is loaded 
    do 
    { 
     Application.DoEvents(); 
    } 
    while (webBrowser1.IsBusy == true); 
    webBrowser1.Document.GetElementById("username" 
     ).SetAttribute("value", textBox1.Text); 
    //etc. 
+0

ok pobrać nowszą wersję worx teraz – PythEch

0

Zależy jeśli pierwsze przęsło o wartości klasy, że nie chcesz go zawsze znaleźć drugi u może go pominąć przy użyciu flagę

var variable = ie.Span(Find.ByClass("TheClass")).Text; 
var x = 0; 

if(variable != "" && x == 0){ 

var variable2=variable 

}else{ 
x++ 
} 

ten sposób można tylko zachować rzeczywistą rzeczą u chcą w "zmienna2" możesz dostosować ten sam kod, aby pominąć pierwszy i zachować drugi. zamiast przeskoczyć drugą i zatrzymać pierwszą. przepraszam za mój zły angielski: c

Powiązane problemy