私は、Internet Explorer内のいくつかのタスクをスクリプト化するためにpowershellを使用しようとしています。これには、サイトにログイン後、Webサイトからファイルをダウンロードすることが含まれます。私は1つの作業用スクリプトを持っていますが、実際のサイトと同じコードでこのエラーが表示されます:Powershell COMオブジェクトHRESULTからの例外:0x80010108(RPC_E_DISCONNECTED)
'='演算子が失敗しました:呼び出されたオブジェクトがクライアントから切断されました。 (HRESULTからの例外:0x80010108(RPC_E_DISCONNECTED))。 Uで :\ PowershellScriptProjectSFTP \ test.ps1:71文字:22 + $ controlRef = < < < < $ browserDoc.getElementByID($ controlID) + CategoryInfo:はInvalidOperation:(:) []、のRuntimeException + FullyQualifiedErrorId:OperatorFailed
$browserDoc
$ie = new-object -com "InternetExplorer.Application"
$ie.navigate("about:blank")
$ie.visible = $true
[System.Threading.Thread]::Sleep(2000)
$ie.navigate($URL)
#get controls
write-host "Getting Document"
$browserDoc=$ie.Document
write-host "Getting Email component"
$email = $browserDoc.getElementById("MainContent_userEmail")
write-host "Getting Password component"
$pass = $browserDoc.getElementById("MainContent_userPassword")
write-host "Getting Button component"
$login = $browserDoc.getElementById("MainContent_submitButton")
実際のエラーは、それがここまでと同じことをやっているので、私は取り残されているコードに別の場所で発生しているが、ループの中にページの読み込みが行われていることを確認します。このコードは別のサイトの同じマシンで動作しましたが、どちらも.net aspx 2.0サイトでした。
基本的に、インターネットエクスプローラが指定されたURLに移動すると、powershellはオブジェクトと通信する能力を失います。このエラーの後にいくつかのInvokeMethodOnNullとPropertyNotFoundのエラーが続きます(これらは私が理解した結果です。 、それはヌルオブジェクト、私が診断しようとしている問題全体になっている)。私はWindows 7を実行しています。MicrosoftはXPとServer 03と08だけを修正したと主張しています。
本当に、この動作の原因に関する説明だけです。私が言ったように、この同じコードはいくつかのウェブサイトを指し示していて、完璧に機能しており、毎回失敗するものもあります。
エラーメッセージで参照されている実際のコード行はすべて同じですか? – Aaron
そのエラーは、$ browserDoc = $ ie.Document行(ここの9行目)で発生します。その後のエラーは$ browser、$ pass、$ loginを$ browserDoc.getElementByIDに基づいて割り当てようとしたときに発生します –