Python3学习笔记_web自动化基础十二_20200730

Python3学习笔记_web自动化基础十二_20200730

如何避免出现上下两个页面同样的元素定位方式重合的问题?
比如:
index_page=login
actual=index_page.click_invest_btn().write_money(1).get_error_msg()
还未进入首页呢,下面的第二行代码就执行了,就导致找不到元素,解决办法:

    -等待下一个页面加载完成
        -使用强制等待:time.sleep(1)
        -讨巧的方式:进入这个页面之后,使用get()这个操作重新加载一下页面【这个是讨巧的方式,有的页面用不了】
            actual=index_page.get().click_invest_btn().write_money(1).get_error_msg()
        通用的方式:
            显示等待
                等待页面加载完成才初始化这个页面:

                title='互联网金融平台'

                    # 等待某个页面加载完成,显示等待
                    # titile_contains:页面标题包含什么内容
                    try:
                        WebDriverWait(self.driver,timeout=20).until(
                        expected_conditions.title_contains(self.title)
                        )
                    except:
                        print('你的操作可能没有进入对应的页面,可能会引发异常')


    -检查相邻页面的元素定位方式,有没有完全一样的---操作难度比较大,很难去对比,找到,很麻烦,费时间【一般不用这种方式】
basepage
页面行为分类:
    -某个页面的特定行为,比如:定位登录这个元素
    -每个页面通用的行为,比如:定位一个元素,不知道这个元素长什么样子

每个页面的通用方法放在一个公共页面类当中,就叫basepage
这里的bagepage和之前接口的common中放的通用方法是一样的,也可以把basepage放到common当中
每个页面都能直接调用,不会因为项目不同发生改变的浏览器通用操作的封装,放在一个类当中,类就是basepage
basepage 是每个页面的父类
basepage 思想 相当于:====》类继承

# 如果父类的初始化满足不了这个类,那么可以自己再单独定义初始化方法
def __init__(self,driver):
    super().__init__(driver)
    #其他的初始化操作

浏览器通用方法:
    窗口滑动
    鼠标滑动
    鼠标双击
    鼠标右击
    鼠标拖拽
    窗口切换
    iframe切换
    打开新标签页
Python经典循环导入问题:
多个模块互相调用的时候,避免互相调用造成死循环的问题,
 如果真的有两个模块要互相调用,可以将导入的代码写到函数里面,不写到模块开头
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值