1
我在火狐GeckoDriver瀏覽器
硒的Python
當我從窗口切換接收到錯誤,element not found
[1]至框架[0],回到窗口[1],然後單擊關閉框架按鈕。
我想繼續使用GeckoDriver
,因爲我遇到了性能問題ChromeDriver
。對不起,這是一個內部網站,我不能分享HTML
。
- 我已經做了以下指出的問題。
- 測試用完全相同的代碼和在鉻驅動
- 在Firefox當我切換到窗口[1]單擊按鈕,然後單擊
closeframe
按鈕,而無需切換到[0]幀正常工作。 - 我可以切換到幀[0],切換回窗口[1]並執行
driver.close()
,它將關閉窗口[1]。 - 我可以從窗口[1]中讀取
driver.page_source
,從幀[0]切換回來,看到元素仍然在page_source
中,並且沒有改變。 - 我可以從幀[0]切換回窗口[0],然後點擊按鈕重新打開窗口[1],並且工作正常。然後,我可以點擊打開和關閉框架按鈕。
所以問題只是駐留在從幀交換[0]回窗口[1],然後試圖點擊窗口[1]在Firefox GeckoDriver的元件。
的Python:2.7
硒:3.0.1
GeckoDriver:v0.13.0
火狐: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: Message: Unable to locate element: [id="closeframe"]
您正在使用索引進行切換,打開/關閉幀後確定索引是否正確?嘗試通過幀名稱和mainWindow進行切換。 – Moshisho