【问题标题】:Browsing to web page, typing in text to search bar, and searching... but the text disappears when I click the search button浏览网页,在搜索栏中输入文本,然后搜索...但是当我单击搜索按钮时,文本消失了
【发布时间】:2018-04-30 17:18:38
【问题描述】:

第一次发帖。尝试寻找类似的帖子,但没有找到任何东西。

我对 VBA 有点陌生。我正在尝试使用 Excel 导航到特定网站,单击单选按钮,输入一些文本作为搜索字符串,然后搜索该文本。当我浏览我的代码时,一切似乎都很好,但是当我单击搜索按钮时,我的搜索字符串被空白,并且我收到一条错误消息,告诉我输入搜索条件。代码如下:

Sub FranklinCountyWebsite()
'References: Microsoft Internet Controls, Microsoft HTML Object Library

Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument

IE.Visible = True
IE.navigate "https://sheriff.franklincountyohio.gov/real-estate/"

Do While IE.readyState <> READYSTATE_COMPLETE
Loop

Set HTMLDoc = IE.document

HTMLDoc.getElementById("ctl00_SheetContentPlaceHolder_c_search1_rblSrchOptions_3").Click
HTMLDoc.getElementById("ctl00_SheetContentPlaceHolder_c_search1_SrchSearchString").Value = "43215"
HTMLDoc.getElementById("ctl00_SheetContentPlaceHolder_c_search1_btnSearch").Click

End Sub

有趣的是,如果我访问富兰克林县网站并手动输入文本,然后点击搜索,一切正常。有什么容易被我忽略的吗?

【问题讨论】:

  • 它可以帮助在单击之前将焦点设置在控件上。
  • 让它工作——非常感谢。我在将搜索字符串设置为特定值的部分之前添加了“HTMLDoc.getElementById("ctl00_SheetContentPlaceHolder_c_search1_SrchSearchString").Focus”。
  • 好的,很酷,很棒。

标签: excel vba screen-scraping


【解决方案1】:

您可以尝试使用serverxmlhttp 请求,这比 IE 快得多。下面的脚本可以引导您到您希望从中获取数据的目标页面。

Sub Fetch_Item()
    Dim post As Object, qsp$, S$

    qsp = "q=searchType%3dZipCode%26searchString%3d43215%26foreclosureType%3d%26sortType%3daddress%26saleDateFrom%3d4%2f30%2f2017+12%3a00%3a00+AM%26saleDateTo%3d10%2f30%2f2018+11%3a59%3a59+PM"

    With New ServerXMLHTTP
        .Open "GET", "https://sheriff.franklincountyohio.gov/real-estate/results.aspx?" & qsp, False
        .setRequestHeader "User-Agent", "Mozilla/5.0"
        .send
        S = .responseText
    End With

    With New HTMLDocument
        .body.innerHTML = S
        Set post = .getElementById("ctl00_SheetContentPlaceHolder_C_searchresults_reSaleSummary_ctl00_lblAddrHeader")
        MsgBox post.innerText
    End With
End Sub

输出:

 155-157 CLEVELAND AVE COLUMBUS, OH 43215 010054688, 010055721

添加到库的参考:

Microsoft XML, V6.0
Microsoft HTML Object Library

【讨论】:

  • 嘿@SIM 我很感激。当我一周前问这个问题时,我只是想让一切都与 IE 一起工作,并对使用 VBA 进行网络抓取有一个粗略的了解,但我昨天看到了你的评论,并开始研究使用 XML 库来加快速度。谢谢!
  • 一如既往的好回答
猜你喜欢
  • 1970-01-01
  • 2014-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-15
  • 1970-01-01
  • 2020-12-24
相关资源
最近更新 更多