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,如无法定位,返回false
def isElementExist(element): flag = True try: driver.find_element_by_class_name(element) return flag except: flag = False return flag
3.测试登录页面,需要重复测试输入错误的用户名及密码,第二次执行时,提示:stale element reference: element is not attached to the page document
以上提示是由于页面刷新后,需要重新定位元素
解决方法:将元素定位写在函数中,在每次执行用例之前调用一次元素定位函数