#-*- coding:utf-8 -*-
# 倒包
from selenium import webdriver
from selenium import webdriver
# 导入休眠包
import time
import time
# 导入枚举包
from enum import Enum
from enum import Enum
# 倒包
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# 定义类继承单元测试
class FireFox(object):
# 打开浏览器
def firefox_start(self,url):
# 打开浏览器
self.driver = webdriver.Firefox()
# 设置最大化
self.driver.maximize_window()
# 大爱指定网站
self.driver.get(url)
# 设置休眠
self.TimeSleep(ENUMS.FIVE_TIME)
pass
# 关闭浏览器
def firefox_close(self):
def firefox_close(self):
# 关闭
self.driver.quit()
self.driver.quit()
pass
# 静态休眠
def TimeSleep(self,number):
def TimeSleep(self,number):
time.sleep(number)
pass
# 隐士休眠
def TimeImplay(self,number):
def TimeImplay(self,number):
self.driver.implicitly_wait(number)
pass
# 查找控件方式 8 种
def FindID(self,ID):
def FindID(self,ID):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
ids = (By.ID,ID)
# 休眠
WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(ids))
WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(ids))
return self.driver.find_element_by_id(ID)
# 根据id设置点击事件
def ClickID(self,ID):
def ClickID(self,ID):
self.FindID(ID).click()
# 输入内容
def SendkeysID(self,ID,message):
def SendkeysID(self,ID,message):
self.FindID(ID).send_keys(message)
# 查找控件方式 8 种
def FindName(self, name):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
def FindName(self, name):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
names = (By.NAME, name)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(names))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(names))
return self.driver.find_element_by_name(name)
# 查找控件方式 8 种
def FindNames(self, name):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
def FindNames(self, name):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
names = (By.NAME, name)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(names))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(names))
return self.driver.find_elements_by_name(name)
# 根据id设置点击事件
def ClickName(self, name):
self.FindName(name).click()
def ClickName(self, name):
self.FindName(name).click()
# 输入内容
def SendkeysName(self, name, message):
def SendkeysName(self, name, message):
self.FindName(name).send_keys(message)
# 查找控件方式 8 种
def FindClass(self, cls):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
def FindClass(self, cls):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
clss = (By.CLASS_NAME, cls)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(clss))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(clss))
return self.driver.find_element_by_class_name(cls)
# 根据id设置点击事件
def ClickClass(self, cls):
self.FindClass(cls).click()
def ClickClass(self, cls):
self.FindClass(cls).click()
# 输入内容
def SendkeysClass(self, cls, message):
def SendkeysClass(self, cls, message):
self.FindClass(cls).send_keys(message)
# 查找控件方式 8 种
def FindXpath(self, xpath):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
def FindXpath(self, xpath):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
xpaths = (By.XPATH, xpath)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(xpaths))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(xpaths))
return self.driver.find_element_by_xpath(xpath)
# 查找控件方式 8 种
def FindXpaths(self, xpath):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
def FindXpaths(self, xpath):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
xpaths = (By.XPATH, xpath)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(xpaths))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(xpaths))
return self.driver.find_elements_by_xpath(xpath)
# 根据id设置点击事件
def ClickXpath(self, xpaht):
def ClickXpath(self, xpaht):
self.FindXpath(xpaht).click()
# 输入内容
def SendkeysXpath(self, xpaht, message):
def SendkeysXpath(self, xpaht, message):
self.FindXpath(xpaht).send_keys(message)
# 查找控件方式 8 种
def FindLink(self, link):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
def FindLink(self, link):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
links = (By.LINK_TEXT, link)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(links))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(links))
return self.driver.find_element_by_link_text(link)
# 查找控件方式 8 种
def FindLinks(self, link):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
links = (By.LINK_TEXT, link)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(links))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(links))
return self.driver.find_elements_by_link_text(link)
# 点击下标
def ClickLinks(self, link,index):
self.FindLinks(link)[index].click()
# 根据id设置点击事件
def ClickLink(self, link):
self.FindLink(link).click()
# 输入内容
def SendkeysLink(self, linl, message):
self.FindLink(linl).send_keys(message)
def SendkeysLink(self, linl, message):
self.FindLink(linl).send_keys(message)
# 查找控件方式 8 种
def FindPaty(self, link):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
links = (By.PARTIAL_LINK_TEXT, link)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(links))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(links))
return self.driver.find_element_by_partial_link_text(link)
# 根据id设置点击事件
def ClickPart(self, link):
self.FindPaty(link).click()
self.FindPaty(link).click()
# 输入内容
def SendkeysPart(self, linl, message):
self.FindPaty(linl).send_keys(message)
# 查找控件方式 8 种
def FindTag(self, tag):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
tags = (By.TAG_NAME, tag)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(tags))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(tags))
return self.driver.find_element_by_tag_name(tag)
# 根据id设置点击事件
def ClickTag(self, tag):
self.FindTag(tag).click()
self.FindTag(tag).click()
# 输入内容
def SendkeysTag(self, tag, message):
self.FindTag(tag).send_keys(message)
# 查找控件方式 8 种
def FindCss(self, css):
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
# 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
csses = (By.CSS_SELECTOR, css)
# 休眠
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(csses))
WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(csses))
return self.driver.find_element_by_css_selector(css)
# 根据id设置点击事件
def ClickCss(self, css):
self.FindCss(css).click()
# 输入内容
def SendkeysCss(self, css, message):
def SendkeysCss(self, css, message):
self.FindCss(css).send_keys(message)
# 获取title
def getTitle(self):
return self.driver.title
# 获取当前窗口
def getCurrent_Window(self):
def getCurrent_Window(self):
return self.driver.current_window_handle
# 切换窗口的方法
def switch_to_window(self,current):
def switch_to_window(self,current):
# 获取所有的窗口
allwindows = self.driver.window_handles
allwindows = self.driver.window_handles
# 使用for循环进行切换
for window in allwindows:
for window in allwindows:
if window != current:
self.driver.switch_to.window(window)
# 设置点击事件,以及切换窗口的封装
def ClickID_Window(self,ID):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickID(ID)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
current_window = self.getCurrent_Window()
# 进行点击
self.ClickID(ID)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 设置点击事件,以及切换窗口的封装
def ClickName_Window(self, name):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickName(name)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
def ClickName_Window(self, name):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickName(name)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 设置点击事件,以及切换窗口的封装
def ClickClass_Window(self, cls):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickClass(cls)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
def ClickClass_Window(self, cls):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickClass(cls)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 设置点击事件,以及切换窗口的封装
def ClickXpath_Window(self, xpath):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickXpath(xpath)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
def ClickXpath_Window(self, xpath):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickXpath(xpath)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 设置点击事件,以及切换窗口的封装
def ClickTag_Window(self, tag):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickTag(tag)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickTag(tag)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 设置点击事件,以及切换窗口的封装
def ClickCss_Window(self, css):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickCss(css)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickCss(css)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 设置点击事件,以及切换窗口的封装
def ClickLink_Window(self, link):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickLink(link)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickLink(link)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 设置点击事件,以及切换窗口的封装
def ClickPart_Window(self, part):
# 获取当前窗口
current_window = self.getCurrent_Window()
# 进行点击
self.ClickPart(part)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
current_window = self.getCurrent_Window()
# 进行点击
self.ClickPart(part)
# 休眠五秒
self.TimeSleep(ENUMS.FIVE_TIME)
# 切换窗口
self.switch_to_window(current_window)
# 通过js定位当前窗口
def switch_to_view_js_ID(self,ID):
def switch_to_view_js_ID(self,ID):
# 执行 js arguments[0].scrollIntoView();
self.driver.execute_script("arguments[0].scrollIntoView();",self.FindID(ID))
self.driver.execute_script("arguments[0].scrollIntoView();",self.FindID(ID))
pass
# 通过js定位当前窗口
def switch_to_view_js_Name(self, name):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindName(name))
def switch_to_view_js_Name(self, name):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindName(name))
pass
# 通过js定位当前窗口
def switch_to_view_js_Class(self, cls):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindClass(cls))
def switch_to_view_js_Class(self, cls):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindClass(cls))
pass
# 通过js定位当前窗口
def switch_to_view_js_Xpath(self, xpath):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindXpath(xpath))
def switch_to_view_js_Xpath(self, xpath):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindXpath(xpath))
pass
# 通过js定位当前窗口
def switch_to_view_js_Tag(self, tag):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindTag(tag))
def switch_to_view_js_Tag(self, tag):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindTag(tag))
pass
# 通过js定位当前窗口
def switch_to_view_js_css(self, css):
def switch_to_view_js_css(self, css):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindCss(css))
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindCss(css))
pass
# 通过js定位当前窗口
def switch_to_view_js_link(self, link):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindLink(link))
def switch_to_view_js_link(self, link):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindLink(link))
pass
# 通过js定位当前窗口
def switch_to_view_js_part(self, part):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindPaty(part))
def switch_to_view_js_part(self, part):
# 执行 js
self.driver.execute_script("arguments[0].scrollIntoView();", self.FindPaty(part))
pass
# 切换到frame ID
def seitch_to_id_frame(self,ID):
def seitch_to_id_frame(self,ID):
# 切换到frame里面
self.driver.switch_to.frame(self.FindID(ID))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
self.driver.switch_to.frame(self.FindID(ID))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
# 切换到frame Name
def seitch_to_name_frame(self, name):
# 切换到frame里面
self.driver.switch_to.frame(self.FindName(name))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
def seitch_to_name_frame(self, name):
# 切换到frame里面
self.driver.switch_to.frame(self.FindName(name))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
# 切换到frame Class
def seitch_to_class_frame(self, cls):
# 切换到frame里面
self.driver.switch_to.frame(self.FindClass(cls))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
def seitch_to_class_frame(self, cls):
# 切换到frame里面
self.driver.switch_to.frame(self.FindClass(cls))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
# 切换到frame xpath
def seitch_to_xpath_frame(self, xpath):
# 切换到frame里面
self.driver.switch_to.frame(self.FindXpath(xpath))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
def seitch_to_xpath_frame(self, xpath):
# 切换到frame里面
self.driver.switch_to.frame(self.FindXpath(xpath))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
# 切换到frame tag
def seitch_to_tag_frame(self, tag):
# 切换到frame里面
self.driver.switch_to.frame(self.FindTag(tag))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
def seitch_to_tag_frame(self, tag):
# 切换到frame里面
self.driver.switch_to.frame(self.FindTag(tag))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
# 切换到frame tag
def seitch_to_css_frame(self, css):
# 切换到frame里面
self.driver.switch_to.frame(self.FindCss(css))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
def seitch_to_css_frame(self, css):
# 切换到frame里面
self.driver.switch_to.frame(self.FindCss(css))
# 注意 pass没有任何意义,只是在写代码的时候怕报错,用来占位的
pass
# 切换到原声的方法
def switch_to_content(self):
def switch_to_content(self):
# 切换到本地
self.driver.switch_to.default_content()
self.driver.switch_to.default_content()
# 封装断言, 查找控件,获取内容,断言前后是不是一致
def AssertEquilClass(self,self1,cls,expect):
def AssertEquilClass(self,self1,cls,expect):
# 查找控件,获取内容
self.message = self.FindClass(cls).text
# 进行断言
self1.assertEqual(self.message,expect)
self.message = self.FindClass(cls).text
# 进行断言
self1.assertEqual(self.message,expect)
pass
# 通过 title去断言
def AssertEquilTitle(self,self1,expect):
def AssertEquilTitle(self,self1,expect):
# 设置休眠,在这里使用强制等待
self.TimeSleep(ENUMS.FIVE_TIME)
# 查找控件,获取内容
self.message = self.getTitle()
# 进行断言
self1.assertEqual(self.message,expect)
self.TimeSleep(ENUMS.FIVE_TIME)
# 查找控件,获取内容
self.message = self.getTitle()
# 进行断言
self1.assertEqual(self.message,expect)
pass
# 断言数量
def AssertEquilCount(self,self1,cls,number):
def AssertEquilCount(self,self1,cls,number):
# 查询一组控件,进行断言
clses = self.FindClasses(cls)
clses = self.FindClasses(cls)
# 进行断言
self1.assertEqual(len(clses), number)
self1.assertEqual(len(clses), number)
pass
# 断言控件是不是可见
def AssertTrueID(self,self1,ID):
def AssertTrueID(self,self1,ID):
# 设置休眠 给网络请求或者逻辑判断的加载时间
self.TimeSleep(ENUMS.FIVE_TIME)
# 进行断言
self1.assertTrue(self.FindID(ID).is_displayed())
self.TimeSleep(ENUMS.FIVE_TIME)
# 进行断言
self1.assertTrue(self.FindID(ID).is_displayed())
# 通过 class 查询一组列表的元素
def FindClasses(self,cls):
def FindClasses(self,cls):
# 查询cls
clss = (By.CLASS_NAME,cls)
clss = (By.CLASS_NAME,cls)
# 设置休眠,同时检查元素的存在
WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(clss))
WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(clss))
# 返回查找控件的数量
return self.driver.find_elements_by_class_name(cls)
return self.driver.find_elements_by_class_name(cls)
# 通过指定下标进行点击的
def ClickClasses(self,cls,index):
def ClickClasses(self,cls,index):
# 进行点击
self.FindClasses(cls)[index].click()
self.FindClasses(cls)[index].click()
# 休眠方式有三种
# 1: 强制休眠 强制休眠,当代码执行到该句代码的时候,进行休眠,当休眠结束执行接写来的代码
# 2: 隐式休眠 隐式休眠,当窗口打开,开始计算休眠时间,这里指定的是浏览器的总共休眠时间,如果这里用到1毛,就在总休眠时间里面减去1秒
# 3: 显示休眠 显式休眠,可以设置指定的休眠时间,同时可以设置每隔几秒检查一次元素右没有加载,如果加载了,休眠时间就结束了
# 1: 强制休眠 强制休眠,当代码执行到该句代码的时候,进行休眠,当休眠结束执行接写来的代码
# 2: 隐式休眠 隐式休眠,当窗口打开,开始计算休眠时间,这里指定的是浏览器的总共休眠时间,如果这里用到1毛,就在总休眠时间里面减去1秒
# 3: 显示休眠 显式休眠,可以设置指定的休眠时间,同时可以设置每隔几秒检查一次元素右没有加载,如果加载了,休眠时间就结束了
# 查询一组切换窗口的方法
def ClickWindowClsses(self,cls,index):
def ClickWindowClsses(self,cls,index):
# 获取当前窗口
current = self.driver.current_window_handle
# 查询一组控件,进行点击
self.ClickClasses(cls,index)
# 设置休眠 这里设置休眠的原因是 1: 有的电脑反应慢,点击完成以后,一会才跳转,而我们的代码执行的比较快,所以需要进行休眠一会再获取所有窗口,不然获取的窗口只有一个
# 2: 我们点击完成以后,这里一般有逻辑判断,需要请求网络加载数据需要时间,所以需要休眠
# 使用强制休眠 设置休眠时间
self.TimeSleep(ENUMS.FIVE_TIME)
# 获取所有的窗口
all_window = self.switch_to_window(current)
current = self.driver.current_window_handle
# 查询一组控件,进行点击
self.ClickClasses(cls,index)
# 设置休眠 这里设置休眠的原因是 1: 有的电脑反应慢,点击完成以后,一会才跳转,而我们的代码执行的比较快,所以需要进行休眠一会再获取所有窗口,不然获取的窗口只有一个
# 2: 我们点击完成以后,这里一般有逻辑判断,需要请求网络加载数据需要时间,所以需要休眠
# 使用强制休眠 设置休眠时间
self.TimeSleep(ENUMS.FIVE_TIME)
# 获取所有的窗口
all_window = self.switch_to_window(current)
# 定义一个枚举类
class ENUMS(Enum):
class ENUMS(Enum):
# 二秒
TWO_TIME = 2
# 五秒
FIVE_TIME = 5
# 10 秒
TEN_TIME = 10
# 20 秒
TWENTY_TIME = 20
# 0.5 秒
ONE_HALF = 0.5
TWO_TIME = 2
# 五秒
FIVE_TIME = 5
# 10 秒
TEN_TIME = 10
# 20 秒
TWENTY_TIME = 20
# 0.5 秒
ONE_HALF = 0.5