当前位置: 首页 > 知识库问答 >
问题:

InternetExplorer.COM文档在PowerShell.ISE中可用,但在常规PS控制台中不可用

顾均
2023-03-14

以下代码在PowerShell ISE中工作,但在常规PowerShell控制台中运行时,文档对象为空:

$ie = New-Object -COM InternetExplorer.Application
$ie.Navigate('http://www.example.com')
$ie.Visible = $true
do { Start-Sleep -m 100 } while ( $ie.busy )

$document = $ie.document
$window = $document.parentWindow

"Ready state: " + $ie.ReadyState
"Document: " + $document
"Window: " + $window

电源外壳 ISE 中的输出:

Ready state: 4
Document: mshtml.HTMLDocumentClass
Window: System.__ComObject

常规电源外壳控制台中的输出:

Ready state: 4
Document: mshtml.HTMLDocumentClass
Window:

在PowerShell中运行时。exe、$window$document的所有其他属性均为空。为什么会这样?如何修复?谢谢

共有2个答案

澹台阳秋
2023-03-14

您应该检查< code>ReadyState属性的完成情况,而不是flacky Busy属性,该属性可能会振荡,主要用于判断停止按钮是否可用:

do { Start-Sleep -m 100 } while ( $ie.ReadyState -ne 4 )
东门宜
2023-03-14

尝试使用-sta选项执行常规控制台。

 类似资料:
  • 我正在尝试使用Kafka。 所有配置都已正确完成,但当我尝试从控制台生成消息时,我一直得到以下错误 Kafka版本:

  • 问题内容: 嗨,我在使用sql查询时遇到问题,它在控制台中可以完美地工作,但是当我在python中实现时,它似乎可以完美地工作,但是没有错误,但是当我检查数据库时,它没有起作用,但是在控制台中,它确实可以工作,但是没有错误。我检查数据库中的数据是否存在…我使用的查询完全相同。 有任何想法吗? 在python中: 查询在打印中显示良好,没有问题,如果我将打印内容复制并粘贴到mysql控制台中,则每次

  • 我在Hibernate4.0.1中遇到了本地查询问题。我有查询工作在数据库控制台,但不是在应用程序。我有: 名为“case”的表有两列指向同一个表--名为“cost”的表,其列为“value”。我的查询如下所示: 有人提到,'value'不是列的专有名称。这是真的,事实上这个列不是名为'value',而是有点不同。我的严格合同禁止发布任何关于代码的信息。我必须尽可能地释义它,所以我在fly中重命名

  • 我正在使用Ubuntu18:04和lxc/lxd蒸汽容器。它工作得很好,我遵循了本教程,并对网络内容做了一些更改。 https://blog.simos.info/running-steam-in-a-lxd-system-container/ 蒸汽适用于opengl游戏,但不适用于沃肯游戏。卢特里斯也一样。 主办方: 集装箱侧: ubuntu@steam:~$vulkaninfo OpenGL工

  • 问题内容: 我想使用在NodeJS 0.12中添加的方法,但仍然在运行Node脚本的控制台窗口中具有输出。 例如,如果我运行具有以下行的NodeJS脚本,我想在控制台中看到rsync命令“ live”的完整输出: 我知道这会返回命令的输出,执行后我可以将其输出到控制台,但是这样我就没有“实时”输出了…… 问题答案: 您可以根据需要将父级的stdio传递给子进程:

  • 问题内容: 我希望这不是重复的。 我试图用来在单独的控制台中打开脚本。我尝试设置参数,但是没有成功。 我在64位Windows 7上使用32位Python 2.7。 问题答案: 如果不使用,则必须提供列表而不是命令字符串,例如: 然后将其打开而没有外壳。 这是您可以从Python调用子流程的最手动,最灵活的方式。如果只需要输出,请执行以下操作: