首页 > 学院 > 开发设计 > 正文

python+selenium中遇到的难题及解决方法

2019-11-14 10:30:16
字体:
来源:转载
供稿:网友

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
以上提示是由于页面刷新后,需要重新定位元素
解决方法:将元素定位写在函数中,在每次执行用例之前调用一次元素定位函数


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表