1

element not foundFirefox GeckoDriver ブラウザでエラーが発生しました

ウィンドウ[1]からフレーム[0]に切り替え、ウィンドウ[1]に戻り、フレームを閉じるボタンをクリックすると。

GeckoDriverのパフォーマンスに問題があったため、引き続き使用したいと考えていChromeDriverます。申し訳ありませんが、これは内部 Web サイトであり、共有できませんHTML

  1. 問題を特定するために、次のことを行いました。
    • まったく同じコードでテストされ、Chrome ドライバーで正しく動作します
    • フレーム[0]に切り替えずに、ウィンドウ[1]に切り替えてボタンをopenframeクリックし、ボタンをクリックすると、Firefoxで動作します。closeframe
    • フレーム [0] に切り替え、ウィンドウ [1] に戻って adriver.close()を実行すると、ウィンドウ [1] が閉じます。
    • driver.page_sourceフレーム[0]から切り替えた後、ウィンドウ[1]から読み取ることができ、要素がまだにありpage_source、変更されていないことがわかります。
    • フレーム [0] からウィンドウ [0] に切り替えて、ボタンをクリックしてウィンドウ [1] を再度開くと、正常に動作します。次に、フレームを開くボタンと閉じるボタンをクリックします。

したがって、フレーム [0] からウィンドウ [1] に切り替えてから、Firefox GeckoDriver のウィンドウ [1] の要素をクリックしようとすると、問題が発生します。

Python: 2.7
Selenium: 3.0.1
GeckoDriver: v0.13.0
Firefox: 51.0.1

コードは次のとおりです。

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
driver = webdriver.Firefox(capabilities=firefox_capabilities)
driver.get('www.internalwebsite.com')
driver.find_element_by_id('opensnewwindow').click()
driver.switch_to_window(driver.window_handles[1])
driver.find_element_by_id('opennewframe').click()
driver.switch_to_frame(0)
//read contents
driver.switch_to_window(driver.window_handles[1])
driver.find_element_by_id('closeframe').click()

エラー:

selenium.common.exceptions.NoSuchElementException: メッセージ: 要素が見つかりません: [id="closeframe"]

4

1 に答える 1