ExcelVBAではid、Class、Nameなどさまざまな要素を取得して
Selenium(Edge/Chrome)の自動制御が可能ですが、
マウス処理を疑似的に行うことが可能です。
マウスオーバーでしか出現しない要素などの場合に使用します。
Edge/Chromeでマウスオーバー処理するサンプルコード
当HPを参考にしています。
Dim driver As New Selenium.WebDriver
Public Sub sample()
'■chrome かEdgeどちらかを選択。
driver.Start "chrome" ' driver.Start "edge"
'■目的のサイトへ移動する
driver.Get "https://vba-create.jp/"
Dim tmp As WebElement
Set tmp = driver.FindElementById("menu-item-976")
'■VBA代行開発ボタンをマウスオーバーする
driver.Mouse.MoveTo element:=tmp
'下記でも動作します
'driver.Actions.MoveToElement(tmp).Perform
End Sub
注意点
- 実際にパソコンのマウスが移動するわけではありません。
- あくまでも疑似的にマウスが移動します。
SeleniumBasicについて
Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。
但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。



コメント