跳轉到新頁面沒法定位到frame的解決「辛」路記錄

直奔主題:html

寫一個招投標網站的自動化測試腳本,python+seleniumpython

遇到的問題:瀏覽器

從網站首頁A頁面登陸系統,跳轉到B頁面,死活定位不到B頁面的frame標籤測試

解決辦法:網站

由於selenium是沒法加載瀏覽器設置的,因此B頁面彈出了新的窗口,用各類swicth_to_window(B)無解;htm

嘗試用js語句window.open(B網址)依然無解;element

最後嘗試直接在A頁面get到B頁面,不打開新的頁面:driver.get(B網址),依然找不到frame(很心累),get

隨後打印pagesource分析html只是獲得頁面是動態 渲染的結果,依然沒法解決問題,selenium

最後發現是由於整個頁面是寫在frameset中的,要想定位到frame必須先找到這個frameset,it

以前嘗試用智能等待,可是定位的元素是嵌套在frameset中的frame,沒有先找到frameset就去找frame看樣子是不行的,

WebDriverWait(self.ieDriver, 500, 0.5).until(
EC.presence_of_element_located((By.ID, 'topFrame')))
最後改爲:
WebDriverWait(self.ieDriver, 500, 0.5).until(    EC.presence_of_element_located((By.TAG_NAME, 'frameset')))終於找到了frame!!謝謝王老師的指點,大神一句話少忙一成天
相關文章
相關標籤/搜索