2017-02-12 7 views
1

はここでバッチコードです:のWindows PowerShellの10 IE 11オブジェクト

<# : 
    @echo off 
    powershell /nop /ex bypass^ 
    "&{[ScriptBlock]::Create((gc '%~f0') -join [Char]10).Invoke()}" 
    exit /b 
#> 
$ie = new-object -comobject InternetExplorer.Application 
$ie.Visible = $false 
$ie.Silent = $true 
while($ie.Busy -ne $false) {start-sleep -m 100} 
$ie.Navigate2("https://www.google.ru/", 4) 
while($ie.Busy -ne $false) {start-sleep -m 100} 
while($ie.ReadyState -ne 4) {start-sleep -m 100} 
start-sleep -m 500 
$ie.Stop() 
echo $ie.Document.body.innerHTML > ".\html.txt" 
$ie.Quit() 

このコードは、Windows 7のx64で正常に動作し、Windows 8のx64のが、Windows 10のx64で動作しません。 Microsoft EDGEブラウザが使用されていない場合、IE 11がデフォルトブラウザとして選択されています。私は管理者として、そして呼び出し元としてバットファイルを実行しようとしました..何が間違っていますか?ご協力いただきありがとうございます!

+0

スクリプトはどうしたらよいですか?何が起こり、何が起こるはずですか? – vonPryz

+0

ウェブページのHTMLを収集するだけであれば、デスクトップのWebブラウザは最適な方法ではありません。 – alroc

+0

このコードでbat-fileを実行すると、ページのhtmlコードを含む "html.txt"という名前の新しいファイルが作成されます。私にとって同じ結果を得るための他の方法は面白くない。 1つの質問 - なぜこのコードがWin 10で動作しないのですか?必要な結果を得るために何をチェック/修正する必要がありますか? – Vazz

答えて

0

ウェブページのHTMLコンテンツを取得する必要がある場合のみ、ウェブブラウザを使用しないでください。代わりにinvoke-webrequestを使用し、結果のオブジェクトのcontentプロパティにアクセスします。

invoke-webrequest -Uri http://www.google.ru/ | select-object -property content 
関連する問題