写入输出在首次启动时不返回PSCustomObject的内容

问题描述 投票:0回答:1

我有一个自动化的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"上设置了一个断点)debug,但它输出

StartScript

EndScript

[另一个问题是,如果我再次运行该脚本,而原始ieObject仍处于打开状态,则第二个脚本会记住密码并实际上正确地进行抓取吗?

StartScript

innerHTML                                                                                                                                                                                                                                                          
---------                                                                                                                                                                                                                                                          
2390                                                                                                                                                                                                                                                               
EndScript

当$ element直到脚本结束时都具有正确的数据时,我看不到我的第一个脚本如何出错,并且写输出可以清楚地读取对象,因为它可以在第二次执行中做到这一点。

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

powershell web-scraping powershell-core ie-automation
1个回答
0
投票
write-output $element.innerHTML

完美工作:)

© www.soinside.com 2019 - 2024. All rights reserved.