我想访问与Windows 2012的Internet Explorer COM对象的文档。该代码在Windows 2008中很好,但只要我尝试在Windows 2012上运行它(全新安装,在多台服务器上尝试),相同的代码停止工作。换句话说,$ ie.document.documentHtml返回为null。InternetExplorer.Application COM对象和Windows PowerShell中的2012年
下面是代码:
$ie = new-object -com "InternetExplorer.Application"
$ie.navigate2("http://www.example.com/")
while($ie.busy) {start-sleep 1}
$ie.document.documentHtml.innerhtml
是否已经interexplorer COM对象在2012年窗口改变了吗?如果是,我该如何检索Windows 2012中的文档内容?
在此先感谢
编辑:增加了一个赏金,使事情变甜。 Invoke-WebRequest是很好的,但它只适用于Windows 2012,但我需要使用Internet Explorer,并在Windows 2008和Windows 2012上都能正常工作。我已经阅读了某处安装Microsoft Office的解决方案。这也不是一个选项。
EDIT2:我需要远程调用多个Windows服务器上(2008和2012)的剧本,我宁愿不复制文件手动
你是什么意思呢“停止工作?”你有错误信息吗?你期待什么结果,以及你收到什么结果?哪一行是失败的? –
我的意思是代码不起作用。换句话说,$ ie.document.innerhtml是空的。有趣的是,我可以通过$ ie.visible = $ true使浏览器可见,它显示浏览器已导航到正确的页面,但我无法访问实际的页面内容 –
从通过网络搜索,似乎我不是唯一有这个问题,似乎在某些情况下,安装Office 2010解决了这个问题 - 这不是我的选择 –