一回も披露したことのない豆知識

SeleniumBasicをPCにインストールして、下記のVBAコードで、Excelから"http://gihyo.jp/book/list"にクロームでアクセスしました。サイトにはアクセスできたのですが、いきなり添付のエラーが出ました。オブジェクトがない? excel sheetは開いていますが、、、
目的はh3要素の文字列のB3セルへの書き込みです。
対処法が判る方、教えてください。


---------
Sub GetNewBookTitle()

Dim drv As New ChromeDriver
Dim wELe As WebElement
drv.Get "http://gihyo.jp/book/list"
Set wELe = drv.FindElementByTag("h3")
Range("B3").Value = wLEe.Text
drv.Quit
Columns("B:B").AutoFit

End Sub

「ExcelVBAでWebスクレーピングし」の質問画像

A 回答 (1件)

わたし流のアレンジをしてみました。



Set wELe = drv.FindElementByTag("h3")
もし、ここでエラーが出るのでしたら、
C:\Users\[ユーザー]\AppData\Local\SeleniumBasic
この中のSelenium関連に古いものが入っている可能性が高いです。

'//
Sub GetNewBookTitleR()
 Dim drv As ChromeDriver
 Dim wELes As WebElements
 Dim ar, i As Long, j As Long

 Set drv = New ChromeDriver
 drv.Get "http://gihyo.jp/book/list"

 Set wELes = drv.FindElementsByClass("data")
 For i = 1 To wELes.Count
  ar = Split(wELes(i).Text, vbLf)
  j = UBound(ar) + 1
  Cells(2 + i, 2).Resize(, j).Value = ar
  Cells(2 + i, 2).Resize(, j).WrapText = False
 Next
 If j > 0 Then
  Columns("B:B").Resize(, j).AutoFit
 End If
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報