我想從亞馬遜的一些字段中刪除。使用getElementsByClassName時出現「對象變量或塊變量未設置」
Atm我正在使用一個鏈接,我的vba腳本返回了我的名字和價格。
例如:
我把鏈接到A列,並獲得相應列的其它領域,f.ex:http://www.amazon.com/GMC-Denali-Black-22-5-Inch-Medium/dp/B00FNVBS5C/ref=sr_1_1?s=outdoor-recreation&ie=UTF8&qid=1436768082&sr=1-1&keywords=bicycle
不過,我也想有product description
。
這裏是我當前的代碼:
Sub ScrapeAmz()
Dim Ie As New InternetExplorer
Dim WebURL
Dim Docx As HTMLDocument
Dim productDesc
Dim productTitle
Dim price
Dim RcdNum
Ie.Visible = False
For RcdNum = 2 To ThisWorkbook.Worksheets(1).Range("A65536").End(xlUp).Row
WebURL = ThisWorkbook.Worksheets(1).Range("A" & RcdNum)
Ie.Navigate2 WebURL
Do Until Ie.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
Set Docx = Ie.Document
productTitle = Docx.getElementById("productTitle").innerText
'productDesc = Docx.getElementsByClassName("productDescriptionWrapper")(0).innerText
price = Docx.getElementById("priceblock_ourprice").innerText
ThisWorkbook.Worksheets(1).Range("B" & RcdNum) = productTitle
'ThisWorkbook.Worksheets(1).Range("C" & RcdNum) = productDesc
ThisWorkbook.Worksheets(1).Range("D" & RcdNum) = price
Next
End Sub
我試圖用productDesc = Docx.getElementsByClassName("productDescriptionWrapper")(0).innerText
,以獲得產品說明。
但是,我得到一個錯誤。
Object variable or with block variable not set.
任何建議爲什麼我的聲明不起作用?
我很感謝你的回覆!
您正在聲明變量,但它們都是變體,因爲您沒有指定數據類型。這不是很好的做法。你最好不要把它們放在第一位。你在浪費資源。 – teylyn
該系統中安裝了哪個Internet Explorer版本?低於9.0的IE沒有方法'document.getElementsByClassName'。 –