当运行下面的代码与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