Chrome/Edgeで新しいタブでページを開く
Excel VBAマクロでSeleniumBasicを使用して、自動操作する際、
新しいタブでページを開きたいケースがあります。
IE自動操作の場合Navigate2メソッドがありました。
しかしSeleniumBasicでは用意されていない為、下記手順で実装します。
①新しいタブを開く
②対象タブを新しいタブに合わせる
②対象タブを新しいタブに合わせる
Chrome/Edgeで新しいタブでページを開くサンプルコード
'■SeleniumBasic経由で新しいタブでページを開く Dim driver As New Selenium.WebDriver Public Sub sample() '■Chromeで起動 driver.Start "chrome" 'Edgeの場合は driver.Start "edge" driver.Get "https://vba-create.jp/" '■新しいタブを開く driver.ExecuteScript ("window.open()") 'blankで開く driver.ExecuteScript ("window.open('https://www.yahoo.co.jp/')") '対象のURLを開く '■対象とするタブを一つ右にずらす(新規タブをフォーカスし、対象とする) driver.SwitchToNextWindow End Sub
注意点
- SwitchToNextWindowで処理したいタブを変更しない場合、元のページを対象として処理を続けます。
単純にページを開いておきたいだけであれば、問題ないのですが、処理を続ける場合は注意必要です。
SeleniumBasicについて
Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。
但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。
コメント