Iframeへフォーカスを切り替えIFrame内の要素を操作【Selenium Basic × ExcelVBA】

SwitchToFrameメソッドを使用して要素を指定してフォーカスを指定したフレームに切り替える

引数identifierに切り替えたい要素を指定、今回はFindElementByIdメソッドでIFrameのIdを指定しIframeを指定する

Iframe内に切り替わった後はIframe内の操作したい要素に操作する

親フレームでその後操作するので、SwitchToParentFrameメソッドを使用して元の親フレームに切り替える形で実践

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

実際に使用したサンプルコード

Option Explicit
Public Sub sample()

'driverでChromeDriverを使用する準備
Dim driver As New Selenium.ChromeDriver

'指定したページへ接続
driver.Get "https://vba.company/samplepage/8/"

'IDを指定してiframe側にフォーカスを切り替える
driver.SwitchToFrame identifier:=driver.FindElementById("sampleiframe")

'IDを指定してaiueoと送る
driver.FindElementById("testid").SendKeys "aiueo"
driver.FindElementById("testpw").SendKeys "pass"

'フォーカスを親フレームに戻す
driver.SwitchToParentFrame

'IDを指定して文字を送る
driver.FindElementById("wp-block-search__input-1").SendKeys "もどってるかな?"

End Sub

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です