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



コメント