【发布时间】:2015-04-27 16:48:29
【问题描述】:
我有一个 PowerShell 脚本,它登录到我们的一个站点,单击一些链接然后关闭。基本上只是为了监控并确保一切正常!下面是脚本顶部的 sn-p。
$ie = new-object -com "InternetExplorer.Application"
$ie.visible = $true
$ie.navigate($url)
while( $ie.busy){Start-Sleep 1}
$doc = $ie.document
$continue = $doc.getElementByID("overridelink")
$continue.click()
while( $ie.busy){Start-Sleep 1}
基本上这部分打开 IE 并单击证书错误的继续按钮。如果我在我的 Windows 7 机器上运行它,它工作正常,但是在 Server 2012 R2 上我得到:
“您不能在空值表达式上调用方法”
桌面和服务器都运行 PowerShell 4.0 和 Internet Explorer 11。
不久前我读到一些东西,提到这可能是 2012 年的一个错误,它不允许此方法单击 IE 中的链接,但不记得在哪里以及是否有修复!
有谁知道是什么原因造成的,也许如何解决?
我在想的另一件事(如果有人愿意解释!),我应该改用 invoke-webrequest 吗?如果可以,是否可以登录网站,打开一些链接(不必在屏幕上显示)然后关闭以确认一切正常?
提前感谢您的任何意见!
【问题讨论】:
标签: internet-explorer powershell windows-server-2012-r2