我已经创建了一个vba中的刮板结合硒来解析网页中的不同公司名称。该页面已经遍历了56个可以使用前进按钮到达的页面。我的刮板目前能够在do循环的帮助下抓取这57页中的所有数据。但是,我在这里面临的问题是,当完成收集所有数据时,我的脚本无法摆脱循环。这是因为我在循环中使用了“Do while True”条件。我应该在这种情况下做什么,以便我的脚本能够在完成时打破循环并退出浏览器?提前致谢。如何在完成时打破循环?
这是我到目前为止已经写的:
Sub jscriptinjected_data()
Dim driver As New ChromeDriver
Dim posts As Object, post As Object
With driver
.Get "http://registers.centralbank.ie/FundSearchResultsPage.aspx?searchEntity=FundServiceProvider&searchType=Name&searchText=®isters=6%2c29%2c44%2c45&AspxAutoDetectCookieSupport=1"
Do While True
Set posts = .FindElementsByClass("entityNameColumn")
For Each post In posts
x = x + 1: Cells(x, 1) = post.FindElementByTag("a").Text
Next post
.FindElementById("ctl00_cphRegistersMasterPage_gvwSearchResults_ctl18_btnNext").Click
Loop
End With
driver.Quit
End Sub
'退出做'当'帖子'是'没有'?删除'While True'并添加'Loop Until posts is Nothing'? – GSerg
顺便说一下,当它碰到包含'click'选项的行时,就会抛出错误。 – SIM
将常识应用于以前的建议?如果'posts'永远不是'Nothing',而是测试它所具有的意味着它是空的? – GSerg