我在加载时挂起了Intenet Explorer的问题。 我写了一个代码,打开了两个Internet Explorer对象。一个对象加载房屋列表,宏将这些列表拉到网址,另一个浏览器对象(IE2)通过这些列表在浏览器中加载它们。这是网站:https://asunnot.oikotie.fi/myytavat-asunnot?previousSearchId=25。
我在我的工作计算机(Windows 7)上使用了这个宏,它运行正常。但是,当我在我的笔记本电脑上尝试使用这个宏时,IE2加载了大约10个列表,之后当IE2尝试加载另一个列表url(linkki2)时,它只是继续加载网页而没有出现在浏览器中的任何内容。如果我关闭宏并在同一个列表中重新启动它,它会正常加载并适用于另外十次加载,直到再次失败。我试图避免使用即使用MSXML2.XMLHTTP,但这不会加载所有必需的代码。我需要以下部分<a href ="https://asunnot.oikotie.fi/myytavat-asunnot/tampere/13665769"
但是使用
xml_obj.Open "GET", url, False
xml_obj.send
html_doc.body.outerHTML = xml_obj.responseText
没有告诉我网站的完整代码。
以下是相关代码。
Function oikotie(i, IE2, ie, linkki, y)
k = 0
ie.navigate (linkki & y)
Do While ie.ReadyState <> 4 And ie.Busy: DoEvents: Loop
Application.Wait (Now + TimeValue("0:00:04"))
p = 0
'i = 784
Do While k <= 23
'kaynnistaIE2
If p = 9 Then
ActiveWorkbook.Save
p = 0
End If
linkki2 = ie.document.body.getelementsbyclassname("small-12 medium-4 large-3 columns left")(k).getelementsbytagname("a")(0).href
IE2.navigate (linkki2)
Do While IE2.ReadyState <> 4 And IE2.Busy: DoEvents: Loop
Application.Wait (Now + TimeValue("0:00:10"))
t = 0
Do While t <= 6
If InStr(IE2.document.body.getelementsbyclassname("collapse target-properties ng-isolate-scope collapsable expanded")(2).getelementsbyclassname("row accordion_padding")(t).innertext, "Taloyhtiön nimi") <> 0 Then
Cells(i, 5).Value = IE2.document.body.getelementsbyclassname("collapse target-properties ng-isolate-scope collapsable expanded")(2).getelementsbyclassname("row accordion_padding")(2).getelementsbyclassname("large-8 medium-9 columns left-align property")(0).innertext
i = i + 1
Exit Do
End If
t = t + 1
Loop
p = p + 1
k = k + 1
Loop
oikotie = i
End Function
我想知道如何解决IE2加载和永不完成的问题,或者根本不需要使用浏览器的解决方法。