1.在一個頁面中,無法定位到元素,切換frame也無法定位到,經過排查,發現是由于存在兩個相同名稱、id的frame
解決方法:
driver.find_elements_by_name("frame1") 查找所有名稱為frame1的框架driver.switch_to.frame(frame1[1]) 通過index來定位frame例如:現頁面中存在兩個id與name都相同的frame,通過find_elements_by_name("frame1")將兩個frame1都篩選出來,分別為index 0 index 1,當前要定位的frame為index 1,則通過switch_to.frame(frame[1])來切換到要定位的frame,就可以成功定位到frame中的元素了。2.判斷登錄是否成功,登錄成功后判斷元素是否存在解決方法:flag默認值為true,定位對應元素,返回flag,如無法定位,返回falsedef isElementExist(element): flag = True try: driver.find_element_by_class_name(element) return flag except: flag = False return flag3.測試登錄頁面,需要重復測試輸入錯誤的用戶名及密碼,第二次執行時,提示:stale element reference: element is not attached to the page document以上提示是由于頁面刷新后,需要重新定位元素解決方法:將元素定位寫在函數中,在每次執行用例之前調用一次元素定位函數
新聞熱點
疑難解答