

Selenium-Webdriverのフレーム取得方法について教えてください。

現在、一つのページ(ウィンドウ)に2つのフレームがあります。1つのフレーム(フレームA)で条件を指定して抽出ボタンをクリックすれば、もう一つのフレーム(フレームB)に結果が反映されます。フレームAで条件を指定した後にフレームBの操作をSelenium-
Webdriverでruby言語で行いたいと考えています。下記のプログラムでフレームAを取得して、

frame = driver.find_element(:id, "フレームA")  
driver.switch_to.frame(frame)

下記のプログラムで一度、最上位のフレームに戻して、フレームBを取得しようとしましたが、何度やっても取得できません。

driver.switch_to.window(driver.window_handle)

frame = driver.find_element(:name, "フレームB")  
driver.switch_to.frame(frame)

逆に同じ方法で、フレームBの取得をはじめに行うと取得できました。しかし、最上位フレームに戻って、フレームAを取得しようとするとエラーになります。  
どのようにすれば取得できるのでしょうか？  
ちなみにOSはUbunto16.04でブラウザはFirefoxを使用しています。


CC BY-SA 3.0
2017-06-01T12:19:23.173
35195
2018-06-20T07:49:16.170
2017-06-01T13:31:04.320
2238
23426
question
selenium-webdriver
Selenium-Webdriverのフレーム取得方法


最上位のフレームに戻すのは switch_to.default_content です

[code]

    driver.switch_to.default_content
    
[/code]


CC BY-SA 3.0
2017-06-01T20:52:22.653
35200
2017-06-01T20:52:22.653
15705
35195
answer