WebDriver.SwitchToFrame メソッド

本ページには広告が含まれています。

インデックス(ゼロベース)、name属性、id属性、またはWebElementで指定されたフレームにフォーカスを移します。このメソッドで取得できるHTML要素はframe、iframeのいずれかの要素です。

構文
  1. Boolean = WebDriver.SwitchToFrame( identifier, timeout, raise )
引数
identifier 必須
切り替えるフレームのインデックス、name属性、id属性、WebElement オブジェクトのいずれかを指定
timeout 省略可
タイムアウト(単位:ms)。raiseTrueが指定されている場合、時間が過ぎるとエラーが発生します。
raise 省略可
Trueのとき、タイムアウト経過後に例外を発生させる。
戻り値

使い方

フレームの数を取得

現在開いているページのiframe要素の数を取得します。

UWSC

現在開いているページのframe要素の数を取得します。

UWSC

現在開いているページのframe要素もしくはiframe要素の数を取得します。WebDriver.SwitchToFrame メソッドの引数にインデックスを指定する場合は、0から以下の結果の値の範囲で指定することで要素を取得できます。

UWSC

インデックスからフレームを取得・切り替え

インデックスが0のフレームへ切り替えます。切り替えが出来たかを示すブール値が返り、問題なく切り替えが出来た場合はTrue、切り替えが出来なかった場合はFalseを返します。

UWSC

name属性・id属性からフレームを取得・切り替え

WebDriver.SwitchToFrame メソッドの引数に文字列を指定した場合、その文字列に一致するname属性、id属性を持つフレーム要素が取得されます。

以下はname属性もしくはid属性がcontentのフレームに切り替えます。

HTML
UWSC

WebElementオブジェクトからフレームを取得・切り替え

WebElement オブジェクトからフレームを切り替えます。

最初に見つかったクラス名mainのフレームに切り替えます。

HTML
UWSC

以下は阿部寛のホームページで1つ目のフレーム(左側のメニュー)を取得し、リンクテキストが写真集のリンクをクリックします。

以下のHTMLはブログラムの動作に影響ない範囲で簡略化しています。

HTML
UWSC

src属性の値からフレーム要素を特定

frameタグはsrc属性が必須のため、XPathでフレーム要素を特定することもできます。

以下はsrc属性の値がmenu.htmのフレーム要素を取得します。

title属性やname属性で特定したい場合は@src@title@nameのように変更します。

UWSC

親フレームに戻す

WebDriver.SwitchToFrame メソッドでフレームを切り替えたあと、元のフレームに戻したいときはWebDriver.SwitchToFrame メソッドを使います。

UWSC