2017-04-04 80 views
0

我使用WebBrowser在使用AngularJS的網站上自動填充文本框。使用WebBrowser自動填寫AngularJS表格

這是在其網站上

<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"> 

的HTML這是我的C#代碼

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

用於填充輸入框,但我不認爲它會更新角模型。
因此,您不能提交表格,因爲該網站(即Angular)認爲它仍然是空的

如何從WebBrowser控件觸發ng-model更新?

+0

您使用angularJs1.x或Angular2執行呢? –

+0

它似乎是從HTML的Angular1,但我希望解決方案可以應用到任何類似的框架 – Aximili

回答

1

這是劇本需要更新NG-模型

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

,你可以從web瀏覽器這樣

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

完美的作品。感謝分享 – Chopchop