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を使用しています。