我有一个自动化的IE脚本(powershell 2.0),可以通过Web抓取序列号。该脚本绕过登录页面,并从某个页面上刮下序列号。
但是我在脚本的首次运行上写输出所述序列号时遇到问题。 (当我第二次运行脚本时(可见先前的ieObject),它会记住登录名并输出正确的序列号。
$element = $currentDocument.IHTMLDocument3_getElementById("serialno")| Select innerHTML
write-output "StartScript"
Start-Sleep -s 3
$ieObject | Invoke-IEWait
write-output $element
write-output "EndScript"
我在脚本上使用了调试模式,$element
在脚本末尾包含正确的信息(我在write-output "End"
上设置了一个断点),但它输出
StartScript
EndScript
[另一个问题是,如果我再次运行该脚本,而原始ieObject仍处于打开状态,则第二个脚本会记住密码并实际上正确地进行抓取吗?
StartScript
innerHTML
---------
2390
EndScript
当$ element直到脚本结束时都具有正确的数据时,我看不到我的第一个脚本如何出错,并且写输出可以清楚地读取对象,因为它可以在第二次执行中做到这一点。
感谢您的帮助,这让我陷入了一段时间
write-output $element.innerHTML
完美工作:)