2016-04-28 69 views
1

的屬性我正在使用PowerShell將IE自動化爲com對象。在一個點上,我選擇一個對象,並將其存儲在與該行的變量$ productImages:PowerShell訪問[對象HTMLCollection]

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

在此之後,$ productImages與許多屬性的對象。如果你只是在提示符下鍵入$ productImages,你會得到幾十個,如:

Just a few of the properties of the object returned

$ productImages.length爲1。在以前版本的這個腳本(工作),我的選擇返回許多對象,我將它們的src添加到數組中。這個選擇器只返回一個,但是$ productImages.src是一個無效的命令。我不明白如何獲得產品的src URL,這是我的最終目標。

+0

怎麼樣'$ productImages [0] .src' – ssaviers

回答

0

請嘗試以下操作以查看$productImages的類型。在這種情況下,我相信它是一個包含一個元素的數組,因爲您可以訪問length屬性。

$productImages.GetType() 

你會爲一個數組訪問任何事物的方法是使用以下格式:

$productImages[index].property 

在你的情況所需的腳本應該是:

$productImages[0].src 

我們知道是否爲變量獲取GetType的不同值。

+0

的GetType()確認$ productImages是 「System.MarshalByRefObject」 的ComObject基本類型 $ productImages.length顯示1如您所願。 但是$ productImages [0] .src什麼也沒有返回 如果我繼續處理這些行,我可以將src放入另一個數組,最後訪問它$ foreach($ img in $ productimages){$ imgArray = $ imgArray + $ img.src} $ imgURL = $ imgArray [0] $ imgURL = $ productImages |選擇* | ForEach-Object {$ _。src} $ savePath = $ saveLocation + $ productName +「。jpg」 Start-BitsTransfer $ imgURL $ savePath – CmdrKeene