【发布时间】:2014-01-17 22:27:19
【问题描述】:
我正在尝试使用 Windows 2012 访问 Internet Explorer com 对象的文档。该代码在 Windows 2008 中运行良好,但一旦我尝试在 Windows 2012 上运行它(全新安装,在多个服务器上尝试) ,相同的代码停止工作。换句话说,$ie.document.documentHtml 返回为 null。
下面是代码:
$ie = new-object -com "InternetExplorer.Application"
$ie.navigate2("http://www.example.com/")
while($ie.busy) {start-sleep 1}
$ie.document.documentHtml.innerhtml
interexplorer com 对象在 windows 2012 中是否发生了变化?如果是,我如何在 windows 2012 中检索文档内容?
提前致谢
edit:添加了赏金以使事情变得更甜蜜。 Invoke-WebRequest 很好,但它只能在 Windows 2012 上运行,但我需要使用 Internet Explorer 并让它在 Windows 2008 和 Windows 2012 上运行。我在某处读过安装 microsoft office 解决了这个问题。这也不是一种选择。
edit2:由于我需要在多个 Windows 服务器(2008 和 2012)上远程调用脚本,我不希望手动复制文件
【问题讨论】:
-
“停止工作”是什么意思?您收到错误消息吗?你期待什么结果,你收到什么结果?它在哪条线上失败了?
-
我的意思是代码不起作用。换句话说,$ie.document.innerhtml 是空的。有趣的是,我可以使用 $ie.visible=$true 使浏览器可见,它显示浏览器已导航到正确的页面,但我无法访问实际页面内容
-
通过网络搜索,似乎我不是唯一遇到此问题的人,而且似乎在某些情况下,安装 Office 2010 可以解决问题 - 这不是我的选择跨度>
标签: powershell com internet-explorer-10 createobject