2017-04-04 138 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