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でのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。
コメント