0

我有一个自动 IE 脚本(powershell 2.0)来抓取序列号。该脚本绕过登录页面,并从某个页面上刮下序列号。

但是,在我的脚本第一次运行时,我在写输出说序列号时遇到了问题。(当我第二次运行脚本时(之前的 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 可以清楚地读取对象,因为它可以在第二次执行中执行。

感谢您的帮助,这让我卡了一段时间

4

1 回答 1

0

非常感谢@iRon

write-output $element.innerHTML

完美运行:)

于 2020-01-28T19:42:16.710 回答