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