使用WebBrowser自动填充AngularJS表单

时间:2017-04-04 13:00:50

标签: c# .net angularjs webbrowser-control

我正在使用WebBrowser在使用AngularJS的网站上自动填充文本框。

这是他们网站上的HTML

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

这是我的C#代码

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

填充输入框,但我认为它不会更新Angular模型。
因此,您无法提交表单,因为该网站(即Angular)认为它仍然是空的

如何从我的WebBrowser控件触发ng-model更新?

1 个答案:

答案 0 :(得分:1)

这是更新ng-model

所需的脚本
angular.element($("input[name='email']")).triggerHandler('change')

你可以像这样从WebBrowser执行它

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