概要
ウィンドウハンドル用クラス。ウィンドウサイズの変更や、複数ウィンドウを操作する場合、ウィンドウのフォーカス移動を操作できます。
オブジェクト設定
・変数宣言
Dim Win As selenium.window
・親クラス:WebDriver
文法
Set Win = driver.window
Win.[メソッド]
メソッド・プロパティ
メソッド
スクロールできます
Name | 解説 | ShortExample |
---|---|---|
Activate | 指定ドライバのウィンドウにフォーカスを移す | winMain.Activate |
Close | 現在のウィンドウを閉じる | If Not win.Equals(winMain) Then win.Close |
Equals | 指定ウィンドウが正しいか判別 | If Not win.Equals(winMain) Then win.Close |
FullScreen | 現在ウィンドウのフルスクリーンモード | |
Maximize | 現在ウィンドウを画面最大化 | driver.Window.Maximize |
Position | 画面の左上隅に対するブラウザー ウィンドウの位置を取得 | Debug.Print win.Position.X Debug.Print win.Position.Y |
SetPosition | 画面の左上隅に対するブラウザー ウィンドウの位置を指定 | win.SetPosition 200, 200 |
SetSize | ウィンドウサイズをセット | Win.SetSize 800, 600 |
Size | ウィンドウサイズを取得 | Debug.Print Win.Size.Width; Win.Size.Height |
SwitchToNextWindow | 次のウィンドウへフォーカスを移す | driver.Window.SwitchToNextWindow |
SwitchToPreviousWindow | 前のウィンドウへフォーカスを移す | driver.Window.SwitchToPreviousWindow |
SwitchToWindowByName | ウィンドウハンドル値でウィンドウ移動 | driver.Window.SwitchToWindowByName hwnds.Item(1) |
SwitchToWindowByTitle | ウィンドウタイトル名でウィンドウ移動 | driver.Window.SwitchToWindowByTitle "New Window" |
※Short Exampleは、動作確認ができたコードを記載しています。
・プロパティ
スクロールできます
Name | 解説 | ShortExample |
---|---|---|
Title | ウィンドウタイトルを取得 | Assert.Equals "New Window", driver.Window.title |
※Short Exampleは、動作確認ができたコードを記載しています。
Example
Window_SetSize
Private Sub Window_SetSize()
Dim driver As New ChromeDriver
Dim Win As selenium.Window
driver.Get "https://google.co.jp"
Set Win = driver.Window
Win.Maximize
driver.Wait 2000
Win.SetSize 800, 600
Debug.Print Win.Size.Width; Win.Size.Height
driver.Wait 2000
driver.Close
driver.Quit
End Sub
Window_Position
Private Sub Window_Position()
Dim driver As New ChromeDriver
driver.Get "https://google.co.jp"
Dim Win As selenium.Window
Set Win = driver.Window
Debug.Print Win.Position.X
Debug.Print Win.Position.Y
driver.Wait 2000
Win.SetPosition 200, 200
driver.Wait 2000
driver.Quit
End Sub
Windows_Switch
Private Sub Windows_Switch()
Dim Assert As New selenium.Assert
Dim driver As New ChromeDriver
driver.Get "https://the-internet.herokuapp.com/windows"
driver.FindElementByLinkText("Click Here").Click
driver.Wait 2000
driver.Window.SwitchToNextWindow
Assert.Equals "New Window", driver.Window.title
driver.Window.SwitchToPreviousWindow
Assert.NotEquals "New Window", driver.Window.title
driver.Window.SwitchToWindowByTitle "New Window"
driver.Quit
End Sub
Windows_SwitchByName
Private Sub Windows_SwitchByName()
Dim Keys As New Keys
Dim driver As New ChromeDriver
driver.Get "https://www.google.co.jp"
Dim hwnds As selenium.List
Set hwnds = driver.Send("GET", "/window_handles")
driver.FindElementByClass("MV3Tnb").Click Keys.Control
driver.Window.SwitchToNextWindow
driver.Wait 2000
driver.Window.SwitchToWindowByName hwnds.Item(1)
driver.Wait 2000
driver.Quit
End Sub
Windows_Close
Private Sub Windows_Close()
Dim driver As New ChromeDriver
driver.Get "https://the-internet.herokuapp.com/windows"
Dim winMain As selenium.Window
Set winMain = driver.Window
driver.FindElementByLinkText("Click Here").Click
Stop
Dim Win As selenium.Window
For Each Win In driver.Windows
If Not Win.Equals(winMain) Then Win.Close
Next Win
winMain.Activate
Stop
driver.Quit
End Sub
SeleniumBasicの操作(基礎編)第6回:ウィンドウの操作(usage_window)
教育講座フロント SeleniumBasicでホームページを開き、リンクテキストをクリックする操作はウェブスクレイピングではよくある動作になります。そこで、今回はSeleniu...