我已經創建了一個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