0
点赞
收藏
分享

微信扫一扫

ui功能封装

墨春 2022-05-05 阅读 21
chromepython

-- coding : utf-8 --

from time import sleep

import self as self
from selenium import webdriver

class Web:
“”“关键字封装”“”

# 代表当前运行用例的浏览器类型
def __init__(self):

self.br = "gc"
self.driver.webdriver.Chrome = None

def __find_ele(self, loactor: str = ' '):
    """
    统一定位的关键字
    :param loactor: 元素定位器,同时支持 xpath ,id
    :return: 定位到的元素 如果没有定位到就返回None
    """

    if loactor is None or loactor == ' ':
        return None
    elif loactor.startswith('/'):
        # 如果是斜杠开头,那我们使用xpath定位
        return self.driver.find_element_by_xpath(loactor)
    elif loactor.startswith('#') or loactor.__contains__('>'):
        return self.driver.find_element_by_css_selector(loactor)
    else:
        # 默认使用id定位
        return self.driver.find_element_by_id(loactor)

def openbrowser(self, browser='gc'):
    """
    打开浏览器
    :param browser: 选择需要打开的浏览器类型 ,gc = 谷歌(默认)  ff = 火狐  ie = IE
    :return:
    """
    if browser == "gc" or browser == " ":
        self.br = 'gc'
        self.driver = webdriver.Chrome()
    elif browser == "ff":
        self.br = 'ff'
        self.driver = webdriver.Firefox()
    elif browser == "ie":
        self.br = 'ie'
        self.driver = webdriver.Ie()
    else:
        self.br = 'gc'
        print("浏览器类型不支持,默认使用Chrome")
        self.driver = webdriver.Chrome()
    # 隐等待
    self.driver.implicitly_wait(10)

def geturl(self, url: str = ''):
    """
    访问网站
    :param url: 需要打开的地址
    :return:
    """

    self.driver.get(url)

def click(self, loactor=None):
    """
    点击元素
    :param loactor: 元素定位器,同时支持 xpath ,id
    :return:
    """
    ele = self.__find_ele(loactor)
    self.driver.execute_script('arguments[0].click();', ele)

def input(self, locator: str = '', value: str = ''):
    """
    文本输入
    :param locator:元素定位器,同时支持xpath id css 定位
    :param value: 需要文本输入
    :return:
    """

    ele = self.__find_ele(locator)
    ele.send_keys(value)


def sleep(self,t:str='0.5'):
    """
    固定时间
    :param t:
    :return:
    """
    t=float(t)
    sleep(t)
def quit(self):
    """
    退出浏览器
    :return:
    """
    self.driver.quit()
举报

相关推荐

0 条评论