запуск цикла дайджеста в угловом веб-приложении через powershell - PullRequest
0 голосов
/ 14 ноября 2018

Я застрял в чем-то, что должно быть настолько простым, но это продолжает вызывать у меня головную боль.

У меня угловое веб-приложение, и мне нужно было бы автоматизировать некоторые шаги с помощью сценария 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);

Кто-нибудь понял, как я могу это сделать?

спасибо!

...