2016-09-11 8 views
1

AJAX経由で読み込まれたサイトの他の動的情報と比較するために、ウェブサイトから画像をダウンロードしたいと考えています。サイトはAJAXを使用して他の情報をロードするので、ajax情報がロードされないか、少なくとも私はそれをトリガーする方法を理解できないため、invoke-webrequestは使用できません。そのため、私はApplication.internetexplorerのcomオブジェクトを使用することに決めました。IEのオブジェクトから画像を保存またはコピーする

これは、JavaScriptをトラバースしてトリガーするために機能しますが、IEウィンドウに表示されている画像を保存する方法を理解できません。 srcパス経由でイメージをダウンロードしようとしましたが、前述のように、イメージはすべてのリクエストで元の状態から少し変化します。 $ ie.document.imagesや他のパスから見ることができる「保存」メソッドはありません。私は、最後の溝の努力としてinnerHTMLやouterHTMLなどとして.pngにアウトファイルしようとしましたが、それもすべて失敗します。

私はcomオブジェクトを表示させるときに画像を見ることができます。すでに自分のコンピュータに表示されている画像を取得するには、何らかの方法が必要です。誰も私がこれを達成する方法を知っていますか?

ない、それは役立ちますが、ここでこれまでのところ、私のコードであることを確認してください:あなたはそこに道の最もているよう

$url = "https://somesite.com" 
    $ie = New-Object -com internetexplorer.application 
    $ie.navigate($url) 
    while($ie.ReadyState -ne 4) {start-sleep -seconds 1} 
    $ie.visible = $true  
    $doc = $ie.Document 
    $firstImage= $doc.IHTMLDocument3_getElementById('images01') 
    $secondImage = $doc.IHTMLDocument3_getElementById('images02') 
    $thirdImage = $doc.IHTMLDocument3_getElementById('images03') 

    #how can I save firstImage as .png? 

答えて

1

は思えます。あなたは今だけ...ダイアログそこ範囲に方法execCommand("saveas")を使用して、その後、IHTMLControlRangeを作成するDOMオブジェクトを追加することによって、代替かもしれないが、それは常に名前を付けて保存を表示します

Invoke-WebRequest -Uri $firstImage.href -OutFile c:\temp\... 

を追加することはできませんセキュリティ上の理由から。 execCommandが動作するようになっていることを理解するのに役立つかもしれない比較的古いWeb投稿Save the Last GIF for Meがありますが、これまでのところPowerShellで動作するようにはなっていないので、Invoke-WebRequestのアプローチは私にとってより安全な方法です。必ずしも必要ではないダイアログボックスを表示する必要があります。

+0

ありがとうございました。残念ながら、Invoke-WebRequestなどの別のWebリクエストを使用することはできません。そのため、IE comオブジェクトからの画像とInvoke-WebRequestからの画像は異なっています。 – user2093601

+0

IHTMLControlRangeを使用しようとしていますが、認識できません。私は範囲を追加しようとしましたが、$ firstImageを渡してexecCommandを実行しましたが、何もコピーされませんでした。 – user2093601

+0

私はあまりにも遭遇したような音。その推測ですが、私はそれがDOMオブジェクトはアウトプロセスのためかもしれないと思う。おそらく、PowerShellでDOMを操作する代わりに、制御範囲を作成してexecCommandを実行してブラウザに注入するためのJavaScriptを少し書くことができます。また、 "copy"コマンドは、クリップボードにイメージを置くことによってGUIを避けるかもしれないことに注意してください。 –

関連する問題