我一直在尝试自学编程。这是我第一次尝试在我的日常工作中使用任何脚本。我试图编写一个脚本来从webapp中提取报告。我已经让它一直工作到最后。它将打开IE,登录,导航到报告页面,但一旦点击报告按钮,就会出现一个弹出窗口。我只需要点击提交即可。这是弹出窗口:
为什么脚本不起作用?该元素应该在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()
任何输入都表示赞赏! 非常感谢!