Selenium(Edge/Chrome)

Selenium「新しいタブで開く」【ExcelVBA】

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

コメント

タイトルとURLをコピーしました