2016-04-28 18 views
1

私はcomオブジェクトとしてIEを自動化するためにPowerShellを使用しています。ある時点で、私は、オブジェクトを選択し、このラインを持つ変数$ productImagesに格納します。この後[object HTMLCollection]のPowerShellアクセスプロパティ

$productImages = $ieInner.document.getElementById("product-image").getElementsByTagName("img") 

を、$ productImagesは、多くのプロパティを持つオブジェクトです。あなただけのプロンプトで$ productImagesを入力すると、次のような数十、取得します:

Just a few of the properties of the object returned

$ productImages.lengthが(作品)は、このスクリプトの以前のバージョン1であるが、私のセレクタが返さ多くのオブジェクトと私は配列のすべてのsrcを追加しました。このセレクタは1つだけを返しますが、$ productImages.srcは無効なコマンドです。私は製品のsrc URLを取得する方法を理解していない、それは私の究極の目標です。

+0

何)[0] – ssaviers

答えて

0

$productImagesの種類を表示するには、次の手順を試してください。この場合、lengthプロパティにアクセスできるので、1つの要素を持つ配列であると考えています。

$productImages.GetType() 

あなたは、配列のために何かをアクセスする方法は、以下の形式を使用することです:あなたのケースでは

$productImages[index].property 

必要なスクリプトは次のようになります。

$productImages[0].src 

は私たちをみよう変数のGetTypeの値が異なるかどうかを確認します。

+0

はgettypeを(.src' $ productImages 'については、あなたが期待するよう $ productImages.lengthが1を示し$ productImagesは "System.MarshalByRefObject" のComObjectのbasetypeであることを確認します。私はこれらの行を続行すると しかし$ productImages [0]何も を返さない.SRC私は別の配列にSRCを取得し、最終的に$ imgArray = @() foreachの($ $ productimagesを中IMG){$ imgArrayにアクセスすることができます= $ imgArray + $ img.src} $ imgURL = $ imgArray [0] $ imgURL = $ productImages | *を選択してください。 ForEach-Object {$ _。src} $ savePath = $ saveLocation + $ productName + "。jpg" Start-BitsTransfer $ imgURL $ savePath – CmdrKeene

関連する問題