(10)封装元素点击、上传文件、跳转地址

封装ObjectMap.py工具类
在这里插入图片描述

七、元素点击

  def element_click(self,
                      driver,
                      locate_type,
                      locator_expression,
                      locate_type_disappear=None,
                      locator_expression_disappear=None,
                      locate_type_appear=None,
                      locator_expression_appear=None,
                      timeout=30
                      ):
        """
        元素点击
        :param driver: 浏览器驱动
        :param locate_type: 定位方式类型
        :param locator_expression: 定位表达式
        :param locate_type_disappear: 等待元素消失类型
        :param locator_expression_disappear: 等待元素消失表达式
        :param locate_type_appear:
        :param locator_expression_appear:
        :param timeout:超时时间
        :return:
        """
        element = self.element_appear(driver=driver,
                                      locate_type=locate_type,
                                      locator_expression=locator_expression,
                                      timeout=timeout)
        try:
            element.click()
        except StaleElementReferenceException:
            self.wait_for_read_state_complete(driver=driver)
            time.sleep(0.06)
            element = self.element_appear(driver=driver,
                                          locate_type=locate_type,
                                          locator_expression=locator_expression,
                                          timeout=timeout)
            element.click()
        except Exception as e:
            print("页面异常,元素不可点击",e)
            return False

        try:
            self.element_appear(
                driver,
                locate_type_appear,
                locator_expression_appear
            )
            self.element_disappear(
                driver,
                locate_type_disappear,
                locator_expression_disappear
            )
        except Exception as e:
            print("等待元素消失或者出现失败",e)
            return False
        return True

八、文件上传

def upload(self,driver,locate_type,locator_expression,file_path):
    """
    文件上传
    :param driver:
    :param locate_type:
    :param locator_expression:
    :param file_path:
    :return:
    """
    element=self.element_get(driver,locate_type,locator_expression)
    return element.send_keys(file_path)

九、跳转地址

def element_to_url(
        self,
        driver,
        url,
        locate_type_disappear=None,
        locator_expression_disappear=None,
        locate_type_appear=None,
        locator_expression_appear=None

):
    """
     跳转地址
    :param driver:浏览器驱动
    :param url:跳转地址
    :param locate_type_disappear:等待页面元素消失的定位方式
    :param locator_expression_disappear:等待页面元素消失的定位表达式
    :param locate_type_appear:等待页面元素出现的定位方式
    :param locator_expression_appear:等待页面元素出现的定位表达式
    :return:
    """
    try:
        driver.get(self.host+url)
        self.wait_for_read_state_complete(driver)#等待页面元素加载完成
        self.element_disappear(driver,locate_type_disappear,locator_expression_disappear)#跳转地址后等待元素小时
        self.element_appear(driver,locate_type_appear,locator_expression_appear)#跳转地址后等待元素出现
    except Exception as e:
        print("跳转地址出现异常,异常原因:%s" % e)
        return False
    return True
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值