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

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值