我陷入了本应如此简单但又让我头疼的事情。
我有一个有角度的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);
有人对我该怎么做有任何想法吗?
谢谢!