我想訪問與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解決了這個問題 - 這不是我的選擇 –