通过Powershell触发angular webapp中的摘要循环

时间:2018-11-14 19:52:55

标签: angularjs powershell angular-digest

我陷入了本应如此简单但又让我头疼的事情。

我有一个有角度的Web应用程序,我将需要通过Powershell脚本自动化一些步骤。我遇到的问题是填写登录表单。

我成功访问了该网页,访问了DOM并填写了用户名和密码,但是由于我是通过DOM进行的,因此不会触发onchange事件,并且角度摘要循环也不会触发。因此,我的登录表单仍然无效,并且登录按钮“不可点击”。关于如何从PS脚本强制摘要循环或如何从网页强制onchange事件的任何想法。

这是当前脚本

<#SessionVariables#>
$url = "https://url"
$user = "user"
$pass = "pass"

<#ObjectDeclarations#>
$wshell = New-Object -ComObject wscript.shell

<#Launch Browser#>
$browser = new-object -ComObject "InternetExplorer.Application" 
$browser.navigate2($url)
$browser.Visible = $true
while($ie.busy) { start-sleep 1 }
$doc = $browser.document
$frm = $doc.forms["loginForm"]

<#Login to Session#>

$loginArray = @(
             ("username",$user),
             ("password",$pass)
   )


for($i=0;$i -lt $loginArray.Length; $i++)
{
  $el = $doc.getElementById($loginArray[$i][0]);
  $el.focus();
  start-sleep -Seconds 3;
  $el.value=$loginArray[$i][1];

}

我尝试了以下方法,但是没有任何运气

$el.oncellchange();

根据另一篇文章,我在某个地方也尝试了dispatchevent,但也没有运气:

  $event = $doc.createEvent('Event');
  $event.initEvent('input',$true,$true);
  $el.dispatchEvent($event);

有人对我该怎么做有任何想法吗?

谢谢!

0 个答案:

没有答案