2017-04-04 3 views
0

Ich verwende WebBrowser zum automatischen Ausfüllen eines Textfelds auf einer Website, die AngularJS verwendet. Verwenden von WebBrowser zum automatischen Ausfüllen eines AngularJS-Formulars

Dies ist der HTML-Code auf ihrer Website

<input name="email" type="email" placeholder="Email address" ng-model="login.email" autofocus="" class="ng-pristine ng-valid ng-empty ng-valid-email ng-touched" aria-invalid="false"> 

Dieser Code meines C# ist

webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("email")[0].SetAttribute("value", _login); 

, dass das Eingabefeld auffüllt, aber ich glaube nicht, dass das Winkelmodell aktualisiert.
Daher können Sie das Formular nicht senden, weil diese Website (dh. Angular) denkt, es ist immer noch leer.

Wie lösen Sie das ng-Modell-Update von meinem WebBrowser-Steuerelement aus?

+0

Sie angularJs1.x oder Angular2 mit ng-Modell

angular.element($("input[name='email']")).triggerHandler('change') 

und Sie können es ausführen zu aktualisieren? –

+0

Es scheint Angular1 aus dem HTML zu sein, aber ich hoffe, dass die Lösung auf jedes ähnliche Framework – Aximili

Antwort

1

Dies ist das Skript benötigt von WebBrowser wie diese

wb.Document.InvokeScript("eval", new[] { "angular.element($('input[name=email]')).val('[email protected]').triggerHandler('change')" }); 
+0

funktioniert perfekt funktioniert. Danke für das Teilen – Chopchop

Verwandte Themen