-- 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()