使用webdriverを(5)---フレーム切り替え

フレームスイッチ

むしろ異常な方法で私たちのwebdriverを使用中にフレーム/ IFRAMEは他のラベルとセレンでの位置付けは同じではありません。

私たちは、HTML文書に操作子フレーム/ iframe内に埋め込まれることになっている場合は、レンジwebdriverを埋め込まれた文書を切り替える必要があります。

では、どのよう範囲を切り替えるのですか?

多くの人々があるかもしれません初めてswitch_to_frame()メソッドを考えるが、Pycharmの内部でノックアウト、我々は、この方法は明らかに時代遅れで、この方法は、水平線上に塗装することが判明!

wd.switch_to_frame()

ここでは、セレンがフレームをスイッチングするための方法を提供し、(frame_reference)switch_to.frameを使用します

ここで、frame_referenceは、フレーム要素名や属性IDかもしれません。

例えば、IDのiframe要素「フレーム1」名または属性値「フレーム2」。

私たちは、次のコードスイッチを使用することができます

ID为フレーム1 
wd.switch_to.frame(' フレーム1 ' #の名为フレーム2 
wd.switch_to.frame(' フレーム2 '

また、切り替えることができます

wd.switch_to.frame(wd.find_element_by_tag_name(" IFRAME "))

我々は動作するIFRAMEに切り替えると、その後内側にその後の選択及びユーザインタフェース要素は、フレームで行われます。

この時点で、我々は我々が行うのですか、この時間の始まりをHTMLに切り替えたい場合は?我々は、次の方法を使用することができます

wd.switch_to.default_content()

マルチレイヤスイッチフレーム

フレームは、この時点でフレーム内にネストされている場合場合は、どのように行うことを想定されましたか?IDは、フレーム2のためのネストされたフレームIDを含む外枠フレーム1は、私はメインのHTMLネストされたフレームから入力されたと仮定されます

この時点で、私たちは道の層を切断することができます

最初のフレームの中へ 
wd.switch_to.frame(フレーム1 第二枠に 
wd.switch_to.frame(フレーム2 

我々はフレーム2、その後、カットバックフレーム1から欲しい今回は、あなたが使用することができます

wd.switch_to.parent_frame()

主な電流がすでにある場合は、親タグにメソッドが返す、この方法ではないHTML

おすすめ

転載: www.cnblogs.com/xxxyang/p/11854180.html