直奔主題: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!!謝謝王老師的指點,大神一句話少忙一成天