その他

VBA:selenium basicでウィンドウ情報の取得、変更[No69]

スポンサーリンク

VBAで利用可能なselenium basic(セレニウムベーシック)で、サイズや位置、タイトルといったWebDriverのブラウザウィンドウの情報を、取得、変更ができるコードについてご紹介します。

例として今回はEdgeDriverと、Windows 10から標準搭載されるようになったEdgeというブラウザを用いて行います。

ウィンドウサイズを取得

下図は、ウィンドウサイズを取得するためのコードです。

  • 「Dim driver As New EdgeDriver」→ドライバーを定義する。
  • 「driver.Start "MicrosoftEdge"」→ブラウザにMicrosoftEdgeを指定して起動する。
  • 「driver.Get http://www.yahoo.co.jp/ 」→指定したURLの画面を開く。
  • 「Dim wHeight As Long」→縦のサイズを定義する。
  • 「Dim wWidth As Long」→横のサイズを定義する。

Public Sub GetWindowSize()
    Dim driver As New EdgeDriver
    
    driver.Start "MicrosoftEdge"
    driver.Get "http://www.yahoo.co.jp/"
    
    Dim wHeight As Long
    Dim wWidth As Long
    wHeight = driver.Window.size.Height
    wWidth = driver.Window.size.Width
    
    MsgBox "ウィンドウの横、縦:" & wHeight & "," & wWidth
End Sub

ウィンドウサイズを変更

次に、ウィンドウサイズを変更するコードについてご紹介したいと思います。

最大サイズに変更

下図は、ウィンドウサイズを最大に変更するためのコードです。

  • 「Dim driver As New EdgeDriver」→ドライバーを定義する。
  • 「driver.Start "MicrosoftEdge"」→ブラウザにMicrosoftEdgeを指定して起動する。
  • 「driver.Window.Maximize」→表示されたブラウザを最大サイズで表示する。

Public Sub ChangeWindowSize01()
    Dim driver As New EdgeDriver
    
    driver.Start "MicrosoftEdge"
    driver.Window.Maximize
    driver.Get "http://www.yahoo.co.jp/"
End Sub

指定サイズに変更

下図は、ウィンドウサイズを自分で具体的に指定したサイズに変更するためのコードです。

  • 「Dim driver As New EdgeDriver」→ドライバーを定義する。
  • 「driver.Start "MicrosoftEdge"」→ブラウザにMicrosoftEdgeを指定して起動する。
  • 「driver.Window. SetSize 300, 400」→表示されたブラウザを300×400のサイズで表示する。

Public Sub ChangeWindowSize02()
    Dim driver As New EdgeDriver
    
    driver.Start "MicrosoftEdge"
    driver.Window.SetSize 300, 400
    driver.Get "http://www.yahoo.co.jp/"
End Sub

現在のウィンドウの位置(ポジション)を取得

下図は、現在のウィンドウの位置を取得するためのコードです。

  • 「Dim driver As New EdgeDriver」→ドライバーを定義する。
  • 「driver.Start "MicrosoftEdge"」→ブラウザにMicrosoftEdgeを指定して起動する。
  • 「driver.Get http://www.yahoo.co.jp/ 」→指定したURLの画面を開く。
  • 「Dim pX As Long」→x座標として扱う変数を定義する。
  • 「Dim pY As Long」→y座標として扱う変数を定義する。

Public Sub GetWindowPosition()
    Dim driver As New EdgeDriver
    
    driver.Start "MicrosoftEdge"
    driver.Get "http://www.yahoo.co.jp/"
    
    Dim pX As Long
    Dim pY As Long
    pX = driver.Window.Position.x
    pY = driver.Window.Position.y
    MsgBox "ウィンドウの横、縦:" & pX & "," & pY
End Sub

現在のウィンドウの位置(ポジション)を変更

下図は、現在のウィンドウの位置から変更するためのコードです。

  • 「Dim driver As New EdgeDriver」→ドライバーを定義する。
  • 「driver.Start "MicrosoftEdge"」→ブラウザにMicrosoftEdgeを指定して起動する。
  • 「driver.Window.SetPosition 200, 300」→ウィンドウの位置を(200、300)に変更する。

Public Sub ChangeWindowPosition()
    Dim driver As New EdgeDriver
    
    driver.Start "MicrosoftEdge"
    driver.Window.SetPosition 200, 300
    driver.Get "http://www.yahoo.co.jp/"
End Sub

現在のウィンドウのタイトルを取得

最後に、現在のウィンドウのタイトルを取得するためのコードです。

  • 「Dim driver As New EdgeDriver」→ドライバーを定義する。
  • 「driver.Start "MicrosoftEdge"」→ブラウザにMicrosoftEdgeを指定して起動する。
  • 「driver.Get http://www.yahoo.co.jp/ 」→指定したURLの画面を開く。
  • 「Dim wTitle As String」→タイトルとして扱う変数を定義する。

Public Sub GetWindowTitle()
    Dim driver As New EdgeDriver
    
    driver.Start "MicrosoftEdge"
    driver.Get "http://www.yahoo.co.jp/"
    
    Dim wTitle As String
    wTitle = driver.Window.Title
    MsgBox "ウィンドウのタイトル:" & wTitle
End Sub

まとめ

selenium basicでウィンドウ情報の取得や変更を行う方法について今回ご紹介しましたが、コードはそれぞれ意味があるものなので、自分で一つずつ理解しながらコードを扱えるようになると、よく使うものは覚えるのも簡単になるし、いろいろと応用も効くようになるのでおすすめです。

関連記事

no image
ウィンドウハンドル関連の記事一覧[No74]
記事一覧 ハンドル番号、キャプション名、クラス名について書かれた記事のまとめです。 最後までお付き合いいただきありがとうございます! この情報が誰かの役にたてれば幸 ...

雑記

先日10月10日は、トマト加工品の開発、品質向上を目指して活動している一般社団法人・全国トマト工業会が制定した「トマトの日」でした。リコピン、β-カロテン、ビタミンCなど栄養素豊富なトマトは、耳にすることが多い美肌効果の他にも、生活習慣病や老化の予防などに良いとされています。

最近、私がはまっているのがトマトを丸ごと1個使って作るグラタンです。トマトの中身をくり抜いて器にし、器ごと食べることができるグラタンが完成するのですが、とても美味しいです。加熱したトマトは甘くて食べやすく、小さなお子様にもおすすめです。機会があったら、皆さんも是非作ってみて下さい。

最後までお付き合いいただきありがとうございます!

この情報が誰かの役にたてれば幸いです。

スポンサーリンク

-その他