リクエストは間隔を開ける
スクレイピングが利用規約で禁止されていないか確認
定数
Public Const STR_YAHOO_URL As String = "https://www.yahoo.co.jp/"
Public Const STR_YAHOO_TITLE As String = "Yahoo! JAPAN"
Public Const STR_GOOGLE_URL As String = "https://www.google.com/"
Public Const STR_GOOGLE_TITLE As String = "Google"
Edge雛形
Sub SeleniumWithEdge()
Dim eDriver As New Selenium.EdgeDriver
With eDriver
.Get "https://google.com/"
Call AddNewTab(eDriver, STR_YAHOO_URL)
Call DisplayWindowsTitle(eDriver)
End With
Call AllTabClose(eDriver)
Debug.Print "All Done"
End Sub
Chrome雛形
Sub SeleniumWithChrome()
Dim cDriver As New Selenium.ChromeDriver
With cDriver
.Get "https://google.com/"
Call AddNewTab(cDriver, STR_YAHOO_URL)
Call DisplayWindowsTitle(cDriver)
End With
Call AllTabClose(cDriver)
Debug.Print "All Done"
End Sub
タブの追加
Sub AddNewTab(pDriver As Object, pURL As String)
If pURL = "" Then
pDriver.ExecuteScript ("window.open()")
pDriver.SwitchToNextWindow
Else
strCommand = "window.open('" & pURL & "')"
pDriver.ExecuteScript (strCommand)
pDriver.SwitchToNextWindow
End If
End Sub
タブの削除
Sub AllTabClose(pDriver As Object)
For Each objTabPage In pDriver.Windows
objTabPage.Close
Next objTabPage
End Sub
Chrome限定ブラウザ非表示処理設定
Sub HeaderLessSettingForChrome(pDriver As Object)
pDriver.AddArgument "--headless"
pDriver.AddArgument "--disable-gpu"
End Sub
ページタイトル表示
Sub DisplayWindowsTitle(pDriver As Object)
Dim pageholder() As String
Dim i As Long
Dim objPage As Object
ReDim pageholder(pDriver.Windows.Count)
i = 0
For Each objPage In pDriver.Windows
pageholder(i) = objPage.Title
i = i + 1
Next objPage
Debug.Print Join(pageholder, vbCrLf)
End Sub
コメント