首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel VBA浏览器抓取循环:为每个循环重新加载页面

Excel VBA浏览器抓取循环:为每个循环重新加载页面
EN

Stack Overflow用户
提问于 2021-03-26 04:45:15
回答 1查看 32关注 0票数 0

我在抓取网页时遇到了一点麻烦,基本上我有一个循环,它会转到一个网站,搜索一个特定的公司,然后点击搜索,然后转到公司页面,提取公司的成立日期。(https://icis.corp.delaware.gov/Ecorp/EntitySearch/NameSearch.aspx)。我基本上有一个很大的表,但为了简单起见,我这里有一个较小的表,循环在excel中从表的顶部到底部移动,并在名称旁边的B列中提取建国日期。{Table example}。我的代码如下:

代码语言:javascript
复制
Option Explicit
Sub click_search()
Dim i As SHDocVw.InternetExplorer
Dim idoc As MSHTML.HTMLDocument
Dim output As Range
Dim txt_input As Range
Dim wb As Workbook
Dim ws As Worksheet
Dim n As Integer


Set wb = ActiveWorkbook
Set ws = wb.Sheets(1)

Set i = New InternetExplorer
i.Visible = True
i.Navigate "https://icis.corp.delaware.gov/Ecorp/EntitySearch/NameSearch.aspx"

Do While i.ReadyState <> READYSTATE_COMPLETE
Loop
Set idoc = i.Document

On Error Resume Next
For n = 1 To 3


idoc.getElementById("ctl00_ContentPlaceHolder1_frmEntityName").Value = Cells(n, 1).Value
Application.Wait Now + #12:00:01 AM#
idoc.getElementById("ctl00_ContentPlaceHolder1_btnSubmit").click
Application.Wait Now + #12:00:15 AM#
idoc.getElementById("ctl00_ContentPlaceHolder1_rptSearchResults_ctl00_lnkbtnEntityName").click
Application.Wait Now + #12:00:10 AM#

Dim V As Variant
Set V = idoc.getElementById("ctl00_ContentPlaceHolder1_lblIncDate")
Cells(n, 2) = V.innerHTML

i.Quit
Set i = New InternetExplorer
i.Visible = True
i.Navigate "https://icis.corp.delaware.gov/Ecorp/EntitySearch/NameSearch.aspx"
Application.Wait Now + #12:00:10 AM#


Next n

End Sub

问题是,我必须退出internet explorer并重新启动它,以便能够搜索下一家公司,这就是我在循环中遇到问题的地方,因为它只在第一次迭代中起作用,并且在循环的第二次迭代中有点卡在页面上。它按预期工作,并获得第一个公司的正确日期,但对于第二个公司,它有点卡在起始页上,根本不会进行搜索。仅仅重新加载页面也不会起作用,因为这会导致浏览器卡住,因为您必须手动接受您想要在浏览器中重新加载页面。任何关于如何解决这个问题的帮助都是非常感谢的。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-26 22:06:43

删除了i.Quit中的最后一大块代码,并将其替换为:

代码语言:javascript
复制
i.Navigate "https://icis.corp.delaware.gov/Ecorp/EntitySearch/NameSearch.aspx"
Application.Wait Now + #12:00:10 AM#
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66807358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档