當運行下面的代碼與F5它給我一個錯誤消息「對象變量或與塊變量未設置」在這條線 (設置DivClasses = HTMLDoc.getElementsByClassName(「srp_containerfl」 )),因爲頁面點擊按鈕後沒有完全加載,(Do While IEObj.readyState <> 4或IEObj.Busy:DoEvents:Loop)這行代碼無法正常工作,因爲它將要在完成加載頁面之前的下一行。VBA InternetExplorer的頁面加載錯誤
如果我手動運行此代碼並給出一些時間來加載頁面,它運行良好。
子Fetch_NaukriDotCom_Data()
Dim IEObj As InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim divcl As MSHTML.IHTMLElement
Dim DivClass As MSHTML.IHTMLElement
Dim DivClasses As MSHTML.IHTMLElementCollection
Dim DataContainer As MSHTML.IHTMLElement
Dim DataContainerChild As MSHTML.IHTMLElement
Dim DataContainerChilds As MSHTML.IHTMLElementCollection
Dim DataOneContainer As MSHTML.IHTMLElement
Dim DataOneContainers As MSHTML.IHTMLElementCollection
Dim StrClassName As String
Dim Int_i As Integer
Set IEObj = New InternetExplorer
IEObj.Visible = True
IEObj.navigate "https://www.naukri.com/"
With IEObj
Do While .readyState <> 4 Or .Busy: DoEvents: Loop
.document.getElementsByName("qp").Item.innerText = "VBA Developer"
.document.getElementsByName("ql").Item.innerText = "Noida"
.document.getElementById("qsbFormBtn").Click
End With
Do While IEObj.readyState <> 4 Or IEObj.Busy: DoEvents: Loop 'This loop is not working properly, as it is going
'to next line, without completely loading the page
Set HTMLDoc = New MSHTML.HTMLDocument
Set HTMLDoc = IEObj.document
Set DivClasses = HTMLDoc.getElementsByClassName("srp_container fl ") 'Here Error occuring
Set DataContainerChilds = DivClasses.Item.Children
末次
請幫我解決這個問題。
感謝 卡希夫
也許只是'IEObj.navigate「https://www.naukri.com/vba-developer-jobs-in-noida」' – Slai