Web-Automatisierung mit .NET

7

Ich bin ein sehr neuer Programmierer. Kennt jemand von Ihnen Web-Automatisierung mit C# ? Grundsätzlich möchte ich einfach einige einfache Aktionen im Web implementieren. Nachdem ich den Weblink geöffnet habe, möchte ich nur die folgenden Aktionen automatisch ausführen.

  1. Geben Sie automatisch einen Wert ein und klicken Sie auf "Ausführen".
  2. Aktivieren Sie die ComboBox und klicken Sie auf "Download".

Wie kann ich das mit C# machen? Mein Freund stellt mich vor, um Powershell zu verwenden, aber ich denke, dass .Net diese Art von Bibliothek auch zur Verfügung stellt. Irgendwelche Vorschläge oder Links für mich?

    
DEN 08.03.2011, 02:14
quelle

6 Antworten

14

Sie können das Steuerelement System.Windows.Forms.WebBrowser ( MSDN-Dokumentation ). Zum Testen ermöglicht es Ihnen, die Dinge zu tun, die in einem Browser getan werden könnten. Es führt problemlos JavaScript ohne zusätzlichen Aufwand aus. Wenn etwas schief gelaufen ist, können Sie den Status der Site visuell sehen.

Beispiel:

%Vor%

Um Ihre Frage zu beantworten: Wie Sie ein Kontrollkästchen aktivieren

für das HTML:

%Vor%

der Code:

%Vor%

Tatsächlich hängt das spezifische How to stark davon ab, was das eigentliche HTML ist.

Zur Behandlung Ihres Multithreading-Problems:

%Vor%

InvokeRequired , überprüft, ob der aktuelle Thread der UI-Thread ist (eigentlich der Thread, in dem das Formular erstellt wurde). Ist dies nicht der Fall, wird versucht, StartTest im erforderlichen Thread auszuführen.

    
Fun Mun Pieng 08.03.2011, 02:28
quelle
8

Wenn Sie einen echten Browser simulieren möchten, dann wird WatiN Ihnen gut passen. (Selen ist eine andere Alternative, aber ich empfehle es nicht für Sie).

Wenn Sie auf HTTP-Ebene arbeiten möchten, verwenden Sie WebRequest und verwandte Klassen.

    
Dmytrii Nagirniak 08.03.2011 02:20
quelle
4

Sehen Sie sich SimpleBrowser an, eine ziemlich ausgereifte, leichtgewichtige Browser-Automatisierungsbibliothek.

Ссылка

Von der Seite:

  

SimpleBrowser ist noch ein Leichtgewicht   hochleistungsfähige Browser-Automatisierung   Motor für die Automatisierung und   Testszenarien. Es bietet ein   intuitive API, die es einfach macht   schnell extrahieren spezifische Elemente eines   Seite mit einer Vielzahl von passenden   Techniken, und interagieren Sie dann mit   diese Elemente mit Methoden wie   Klicken Sie auf (), SubmitForm () und viele mehr.   SimpleBrowser unterstützt nicht   JavaScript, aber manuell möglich   Manipulation des Benutzeragenten,   Referrer, Anfrage Header, Formularwerte   und andere Werte vor der Einreichung oder   Navigation.

    
Nathan Ridley 12.05.2011 22:32
quelle
1

.NET hat keine integrierte Funktionalität dafür. Es hat die Klassen WebClient und HttpRequest / HttpResponse , aber sie sind nur Bausteine.

    
John Saunders 08.03.2011 02:16
quelle
0

Sie können clientseitige Aktivitäten nicht einfach automatisieren, z. B. Formulare ausfüllen oder auf Schaltflächen von C# klicken. Wenn Sie jedoch in JavaScript schauen, können Sie möglicherweise einige dieser Dinge besser automatisieren. Um wirklich zu automatisieren, müssten Sie den Anruf zurückentwickeln, indem Sie auf die Schaltfläche klicken und direkt mit der URL verbinden, indem Sie die Klassen @John erwähnt verwenden.

    
mellamokb 08.03.2011 02:19
quelle
0

Ich verwende ObjectForScripting , um WebBrowser, einen Javascript-Callback zu C # -Funktion zu automatisieren und dann in c # Daten zu extrahieren oder viele Dinge zu automatisieren.

Ich habe es im folgenden Link deutlich erklärt

Webautomatisierung mit Webbrowser und C #

    
Garu Jwon 28.01.2013 09:04
quelle

Tags und Links