VBA:Web抓取和在Excel电子表格中显示结果
我有一个VBA代码,可以成功地在Zillow上搜索房子,但是我试图提取网站中显示状态的部分(class=“status”),并在excel电子表格上显示结果VBA:Web抓取和在Excel电子表格中显示结果,excel,vba,web-scraping,Excel,Vba,Web Scraping,我有一个VBA代码,可以成功地在Zillow上搜索房子,但是我试图提取网站中显示状态的部分(class=“status”),并在excel电子表格上显示结果 Sub getHTMLdocument() Dim IE As New SHDocVw.InternetExplorer Dim HTMLDoc As MSHTML.HTMLDocument Dim HTMLInput As MSHTML.IHTMLElement Dim HTMLButtons As MSHTML.IHTMLElemen
Sub getHTMLdocument()
Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim HTMLButtons As MSHTML.IHTMLElementCollection
Dim HTMLButton As MSHTML.IHTMLElement
Dim stat As MSHTML.IHTMLElement
IE.Visible = True
IE.navigate "zillow.com/homes"
Do While IE.ReadyState <> READYSTATE_COMPLETE
Loop
Set HTMLDoc = IE.Document
Set HTMLInput = HTMLDoc.getElementById("citystatezip")
HTMLInput.Value = "21371 Estepa Circle Huntington Beach"
Set HTMLButtons = HTMLDoc.getElementsByTagName("button")
HTMLButtons(0).Click
Set stat = HTMLDoc.getElementById("yui_3_18_1_1_1548832597156_4287")
Debug.Print stat.getAttribute("href")
End Sub
子getHTMLdocument()
Dim IE作为新的SHDocVw.InternetExplorer
将HTMLDoc设置为MSHTML.HTMLDocument
将HTMLInput设置为MSHTML.IHTMLElement
将HTMLButtons设置为MSHTML.IHTMLElementCollection
将HTMLButton设置为MSHTML.IHTMLElement
Dim stat为MSHTML.IHTMLElement
可见=真实
IE.navigate“zillow.com/homes”
在IE.ReadyState ReadyState\u完成时执行此操作
环
设置HTMLDoc=IE.Document
设置HTMLInput=HTMLDoc.getElementById(“citystatezip”)
HTMLInput.Value=“21371埃斯特帕圆形亨廷顿海滩”
设置HTMLButtons=HTMLDoc.getElementsByTagName(“按钮”)
HTMLButtons(0)。单击
Set stat=HTMLDoc.getElementById(“yui_3_18_1_1_1548832597156_4287”)
Debug.Print stat.getAttribute(“href”)
端接头
最后,我还希望VBA从电子表格中提取数据,并在按下按钮时自动加载每个数据
例:
111主st[为111加载Zillow的按钮]
211主st[为211加载Zillow的按钮]
311主st[为311加载Zillow的按钮]
但是,如果我至少能让它在excel上显示class=“status”部分,我将非常感激。您可以使用css类选择器
HTMDoc.querySelector(".status").innerText
请参阅循环URL的示例。这是否回答了您的问题?