----------------------------------------------Chromeutil----------------------------------------------
#-*- coding:utf-8 -*- #导包 from selenium import webdriver #导入休眠包 import time #导入枚举包 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 Chrome(object): #打开浏览器 def chrome_start(self,url): # 打开浏览器 self.driver=webdriver.Chrome(executable_path="D:\google\Chrome\Application\chromedriver.exe") #设置最大化 self.driver.maximize_window() #打开指定网站 self.driver.get(url) #设置休眠 self.TimeSleep(ENUMS.FIVE_TIME) pass #关闭浏览器 def chrome_close(self): #关闭 self.driver.quit() pass #静态休眠 def TimeSleep(self,number): time.sleep(number) pass #隐式休眠 def TimePlay(self,number): self.driver.implicitly_wait(number) pass #查找控件方式8种 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)) return self.driver.find_element_by_id(ID) #根据id设置点击事件 def ClickID(self,ID): self.FindID(ID).click() #输入内容 def SendkeysID(self,ID,message): self.FindID(ID).send_keys(message) # 查找控件方式8种 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)) return self.driver.find_element_by_name(name) # 根据id设置点击事件 def ClickName(self,name): self.FindName(name).click() #输入内容 def SendkeysName(self,name,message): self.FindName(name).send_keys(message) def FindClass(self,cls): clss=(By.CLASS_NAME,cls) 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) #设置点击事件 def ClickClass(self,cls): self.FindClass(cls).click() def SendkeysClass(self,cls,message): self.FindClass(cls).send_keys(message) def Finfxpath(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)) return self.driver.find_element_by_xpath(xpath) 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)) return self.driver.find_elements_by_xpath(xpath) def Clickxpath(self,xpath): self.Finfxpath(xpath).click() def SendkeysXpath(self,xpath,message): self.Finfxpath(xpath).send_keys(message) def FindLink(self,link): links=(By.LINK_TEXT,link) 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) def FindLinks(self,link): links=(By.LINK_TEXT,link) 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() def ClickLink(self,link): self.FindLink(link).click() def sendkeysLink(self,linl,message): self.FindLink(linl).send_keys(message) # 查找控件方式 8 种 def FindPaty(self, link): # 使用显示休眠,一共休眠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)) return self.driver.find_element_by_partial_link_text(link) # 根据id设置点击事件 def ClickPart(self, link): self.FindPaty(link).click() # 输入内容 def SendkeysPart(self, linl, message): self.FindPaty(linl).send_keys(message) # 查找控件方式 8 种 def FindTag(self, tag): # 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次, tags = (By.TAG_NAME, tag) # 休眠 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() # 输入内容 def SendkeysTag(self, tag, message): self.FindTag(tag).send_keys(message) # 查找控件方式 8 种 def FindCss(self, css): # 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次, csses = (By.CSS_SELECTOR, css) # 休眠 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): self.FindCss(css).send_keys(message) #获取title def getTitle(self): return self.driver.title #获取当前窗口 def getCurrent_Window(self): return self.driver.current_window_handle #切换窗口的方法 def switch_to_window(self,current): #获取所有的窗口 allwindows