如何使用Powershell在弹出窗口中单击提交?

时间:2018-03-16 20:16:27

标签: javascript powershell

我一直在尝试自学编程。这是我第一次尝试在我的日常工作中使用任何脚本。我试图编写一个脚本来从webapp中提取报告。我已经让它一直工作到最后。它将打开IE,登录,导航到报告页面,但一旦点击报告按钮,就会出现一个弹出窗口。我只需要点击提交即可。这是弹出窗口:

Popup Window

为什么脚本不起作用?该元素应该在IE.document中正确吗?下面的屏幕截图显示提交按钮的ID是"提交"。

Inspect Element of the submit button

这是powershell给我的错误:

You cannot call a method on a null-valued expression.
At C:\Users\snewhous\Documents\test.ps1:38 char:44
+ $IE.Document.getElementById("submit").click <<<< ()
    + CategoryInfo          : InvalidOperation: (click:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull


代码:

$Username = "myusername"
$Password = "mypassword"

$IE=new-object -com internetexplorer.application
$IE.navigate2("website.com")
$IE.visible=$true

while ($IE.Busy -eq $true) 
{ 
Start-Sleep -Milliseconds 2000; 
} 

$IE.Document.getElementById("loginId").value = $Username 
$IE.Document.getElementById("password").value = $Password 
$IE.Document.getElementById("loginButton").click() 

while ($IE.Busy -eq $true) 
{ 
Start-Sleep -Milliseconds 5000; 
}  

$IE.navigate2("https://eams.mymxportal.com/adHoc/adHoc/manageAdHoc?1")

while ($IE.Busy -eq $true) 
{ 
Start-Sleep -Milliseconds 5000; 
}  

$IE.Document.getElementById("id3b6").click() 

while ($IE.Busy -eq $true) 
{ 
Start-Sleep -Milliseconds 5000; 
}

$IE.Document.getElementById("submit").click()

任何输入都表示赞赏! 非常感谢!

0 个答案:

没有答案