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