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.
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?
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.
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.
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.
.NET hat keine integrierte Funktionalität dafür. Es hat die Klassen WebClient
und HttpRequest
/ HttpResponse
, aber sie sind nur Bausteine.
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.