class LoginPage(object): def __init__(self, driver): self.driver = driver self.fd_el = FindElement(self.driver) ''' 将切换frame放在初始化,下面查找的每个元素都在这个frame里, 如果不写在初始化中,那么下面的每个方法中都要执行一次切换frame ''' self.fd_el.iframe('login_iframe') def get_email_inputbox(self): return self.fd_el.get_element("email_inputbox") def get_pw_inputbox(self): return self.fd_el.get_element("password_inputbox") def get_checkbox(self): return self.fd_el.get_element("login_checkbox") def get_login_bt(self): return self.fd_el.get_element("login_bt") def get_register_bt(self): return self.fd_el.get_element("register_bt") def get_emialorpw_error(self): return self.fd_el.get_element("emailorpw_error") def get_email_empty_error(self): return self.fd_el.get_element("email_empty_error") def get_pw_empty_error(self): return self.fd_el.get_element("pw_empty_error")
class RegisterPage(object): def __init__(self,driver): self.fd = FindElement(driver) #获取邮箱元素 def get_email_element(self): return self.fd.get_element('user_email') #配置文件中的定位方法 索引 user_email #获取昵称元素 def get_user_name_element(self): return self.fd.get_element('user_name') #获取密码元素 def get_password1_element(self): return self.fd.get_element('password1') #获取确认密码元素 def get_password2_element(self): return self.fd.get_element('password2') #获取协议元素 def get_checkbox_element(self): return self.fd.get_element('checkbox') #获取同意按钮元素 def get_agreebutton_element(self): return self.fd.get_element('agreebutton') #获取注册按钮元素 def get_register_element(self): return self.fd.get_element('register') #获取邮箱错误信息元素 def get_email_error_info_element(self): return self.fd.get_element('email_error_info') #获取密码输入不一致错误信息元素 def get_password_error_info_element(self): return self.fd.get_element('password_error_info') #获取重复注册邮箱错误信息 def get_repaet_error_info_element(self): return self.fd.get_element('repeat_error_info')
class RegisterPage: def __init__(self, driver): self.fd = FindElement(driver) def get_email_element(self): return self.fd.get_element("register_email") def get_name_element(self): return self.fd.get_element("register_name") def get_password_element(self): return self.fd.get_element("register_password") def get_code_element(self): return self.fd.get_element("register_captcha") def get_button_element(self): return self.fd.get_element("register-btn") def get_email_error_element(self): return self.fd.get_element("register_email_error") def get_name_error_element(self): return self.fd.get_element("register_name_error") def get_password_error_element(self): return self.fd.get_element("register_password_error") def get_code_error_element(self): return self.fd.get_element("register_code_error") def get_register_btn(self): return self.fd.get_element("register-btn")
class LocationAdminAddStaffPage(object): def __init__(self, driver): self.fe = FindElement(driver) def find_staff_menu(self): return self.fe.get_element('location_staff_menu') def find_staff_add_btn(self): return self.fe.get_element('location_staff_add_button') def find_staff_name(self): return self.fe.get_element('men_name') def find_staff_job_number(self): return self.fe.get_element('user_id') def find_staff_space_title(self): return self.fe.get_element('space_title') def find_staff_phone_num(self): return self.fe.get_element('user_phone_num') def find_staff_email(self): return self.fe.get_element('user_email') def find_staff_add_submit(self): return self.fe.get_element('location_staff_add_submit') def find_staff_add_error_msg(self): return self.fe.get_element('tip_msg') def find_staff_from_tip_msg(self): return self.fe.get_element('staff_from_tip')
def get_element(self, key): try: find_element = FindElement(self.driver) element = find_element.get_Element(key) return element except: print("ActionMethodError:'{}'元素定位失败".format(key))
def get_elements(self, key): # 获取元素 print('获取元素', key) # print(self.driver) find_element = FindElement(self.driver) element = find_element.get_element(key) return element
def __init__(self, driver): self.driver = driver self.fd_el = FindElement(self.driver) ''' 将切换frame放在初始化,下面查找的每个元素都在这个frame里, 如果不写在初始化中,那么下面的每个方法中都要执行一次切换frame ''' self.fd_el.iframe('login_iframe')
class H_multi_Page(object): """H5界面""" def __init__(self, driver): self.elements = FindElement(driver, 'Multi') def get_multi_H5_button_element(self): return self.elements.get_multi_element('H_home_click') def get_multi_home_msgbox_button_element(self): return self.elements.get_multi_element('H_home_msgbox_button')
class RegisterPage(object): def __init__(self,driver): self.fd = FindElement(driver) #用FindElement中的get_element方法来调用配置文件中的信息来获取邮箱元素 def get_email_element(self): return self.fd.get_element("user_email") #获取用户名 def get_username_element(self): return self.fd.get_element("user_name") #获取密码 def get_password_element(self): return self.fd.get_element("password") #获取验证码 def get_code_element(self): return self.fd.get_element("code_text") #点击事件 def get_button_element(self): return self.fd.get_element("register_button") def get_email_error_element(self): return self.fd.get_element("user_email_error") def get_name_error_element(self): return self.fd.get_element("user_name_error") def get_password_error_element(self): return self.fd.get_element("password_error") def get_code_error_element(self): return self.fd.get_element("code_text_error")
class AddMenPage(object): def __init__(self, driver): self.fe = FindElement(driver) def get_men_list_element(self): return self.fe.get_element('men_list') def get_men_add_btn_element(self): return self.fe.get_element('men_add_btn') def get_men_name_element(self): return self.fe.get_element('men_name') def get_men_id_element(self): return self.fe.get_element('job_number') def get_men_space_title_element(self): return self.fe.get_element('space_title') def get_men_phone_num_element(self): return self.fe.get_element('user_phone_num') def get_men_emai_element(self): return self.fe.get_element('user_email') def get_men_insert_btn_element(self): return self.fe.get_element('user_add_btn') def get_men_add_success_msg(self): return self.fe.get_element('user_add_success_message')
class RegisterPage(object): def __init__(self, driver): self.fd = FindElement(driver) def get_email_element(self): # 获取邮箱元素 return self.fd.get_element('user_email') def get_username_element(self): # 获取用户名元素 return self.fd.get_element('user_name') def get_password_element(self): # 获取密码元素 return self.fd.get_element('password') def get_code_element(self): # 获取验证码元素 return self.fd.get_element('code_text') def get_registerbtn_element(self): # 获取注册按钮元素 return self.fd.get_element('register_btn') def get_email_error_element(self): # 获取邮箱报错信息元素 return self.fd.get_element('user_email_error') def get_username_error_element(self): # 获取用户名报错信息元素 return self.fd.get_element('user_name_error') def get_password_error_element(self): # 获取密码报错信息元素 return self.fd.get_element('password_error') def get_code_error_element(self): # 获取密码报错信息元素 return self.fd.get_element('code_text_error')
class LocationAdminAddFloorPage(object): def __int__(self, driver): self.fe = FindElement(driver) def get_desk_menu(self): return self.fe.get_element('') def get_desk_management(self): return self.fe.get_element('') def get_add_floor_btn(self): return self.fe.get_element('') def get_floor_name(self): return self.fe.get_element('') def get_floor_num(self): return self.fe.get_element('') def get_floor_note(self): return self.fe.get_element('') def get_add_floor_submit(self): return self.fe.get_element('') def get_form_tip(self): return self.fe.get_element('') def get_server_tip(self): return self.fe.get_element('')
class RegisterPage(object): def __init__(self, driver): self.fd = FindElement(driver) def get_email_element(self): return self.fd.get_element("user_email") def get_username_element(self): return self.fd.get_element("user_name") def get_password_element(self): return self.fd.get_element("password") def get_code_element(self): return self.fd.get_element("code_text") def get_button_element(self): return self.fd.get_element("register_button") def get_email_error_element(self): return self.fd.get_element("user_email_error") def get_username_error_element(self): return self.fd.get_element("user_name_error") def get_password_error_element(self): return self.fd.get_element("password_error") def get_code_error_element(self): return self.fd.get_element("code-error")
class RegisterPage(object): def __init__(self, driver): self.fd = FindElement(driver) #获取邮箱元素 def get_email_element(self): return self.fd.get_element('user_email') def get_username_element(self): return self.fd.get_element('user_name') def get_password_element(self): return self.fd.get_element('password') def get_code_element(self): return self.fd.get_element('code_text') def get_button_element(self): return self.fd.get_element('register_button') def get_email_error_element(self): return self.fd.get_element('user_email_error') def get_name_error_element(self): return self.fd.get_element('user_name_error') def get_password_error_element(self): return self.fd.get_element('password_error') def get_code_error_element(self): return self.fd.get_element('code_text_error')
class RegisterPage(object): def __init__(self, driver): self.find_element = FindElement(driver) def get_email_element(self): return self.find_element.get_element("user_email") def get_username_element(self): return self.find_element.get_element("user_name") def get_password_element(self): return self.find_element.get_element("password") def get_code_element(self): return self.find_element.get_element("code_text") def get_button_element(self): return self.find_element.get_element("register_button") # 错误信息...... # 获取邮箱栏错误提示 def get_email_error_info(self): return self.find_element.get_element("user_email_error") # 获取用户名错误提示 def get_username_error_info(self): return self.find_element.get_element("user_email_error") # 获取密码错误提示 def get_password_error_info(self): return self.find_element.get_element("password_error") # 获取验证码错误提示 def get_code_error_info(self): return self.find_element.get_element("code_text_error")
def get_picture(self, file_path): self.driver.save_screenshot(file_path) find_element = FindElement(self.driver) code_image = find_element.get_element("code_image") left = code_image.location['x'] top = code_image.location['y'] right = code_image.size['width'] + left bottom = code_image.size['height'] + top im = Image.open(file_path) img = im.crop((left, top, right, bottom)) img.save(file_path) return file_path
class StaffSelectCabinetListPage(object): def __init__(self, driver): self.fe = FindElement(driver) def get_cabinet_menu(self): return self.fe.get_element('cabinet_menu') def get_cabinet_list(self): return self.fe.get_element('cabinet_list') def get_cabinet_error(self): return self.fe.get_element('cabinet_list_error')
class LoginPage(object): def __init__(self,driver): self.fe = FindElement(driver) def get_phone_element(self): return self.fe.get_element('phone_num') def get_sms_code_element(self): return self.fe.get_element('sms_code') def get_login_btn(self): return self.fe.get_element('login_btn') def get_login_success_element(self): return self.fe.get_element('login_staff_name')
class FirstPage(object): def __init__(self, driver): self.fe = FindElement(driver) def get_phone_element(self): return self.fe.get_element('login_phone') def get_phone_error_element(self): return self.fe.get_element('phone_error') def get_login_btn(self): return self.fe.get_element('login_btn')
class ManagerPage(object): def __init__(self,driver): self.find_element = FindElement(driver) def get_ul_manager(self): return self.find_element.get_element("ul_manager") def get_li_span(self): return self.find_element.get_element("li_span") def get_num_li(self): return self.find_element.get_element("span_num")
class SetTimePage(): def __init__(self, driver): self.find_element = FindElement(driver) #定时界面删除按钮 def get_delete_element(self): ele = self.find_element.get_setTime_element("btn_delete") return ele # 定时界面完成按钮 def get_finish_element(self): ele = self.find_element.get_setTime_element("btn_edit") return ele
class LoginPage(object): def __init__(self, driver): self.driver = driver self.fd = FindElement(self.driver) def get_username_element(self): return self.fd.get_Element('username') def get_password_element(self): return self.fd.get_Element("password") def get_submit_element(self): return self.fd.get_Element('submit')
class StaffInviteListPage(object): def __init__(self, driver): self.fe = FindElement(driver) def get_visitor_menu(self): return self.fe.get_element('visitor_module') def get_visitor_list(self): return self.fe.get_element('visitor_list') def get_visitor_select_by_name(self): return self.fe.get_element('visitor_select_name_input') def get_visitor_list_first_name(self): return self.fe.get_element('visitor_list_first_name') def get_visitor_backlist(self): return self.fe.get_element('visitor_back_list') def get_visitor_list_export(self): return self.fe.get_element('visitor_list_export') def get_visitor_select_by_data(self): return self.fe.get_element('visitor_list_data_') def get_visitor_error_msg(self): return self.fe.get_element('visitor_error_msg')
class ForgetFindByTelPage: def __init__(self, driver): self.find_element_element = FindElement(driver) def find_way(self): return self.find_element_element.get_element("find_way") def get_user_name(self): return self.find_element_element.get_element("user_name") def get_user_name_null(self): return self.find_element_element.get_element("user_name_null") def get_user_tel(self): return self.find_element_element.get_element("user_tel") def get_user_tel_null(self): return self.find_element_element.get_element("user_tel_null") def get_code(self): return self.find_element_element.get_element("code_text") def code_error(self): return self.find_element_element.get_element_locator("code_error") def submit(self): return self.find_element_element.get_element("submit")
class Receipt_page(object): def __init__(self, driver): self.fd = FindElement(driver, "Receipt_page") #获取生成付款吗 def get_receiptByCode_elment(self): return self.fd.get_element("receiptByCode") #获取关闭按钮 def get_queryReceipt_element(self): return self.fd.get_element("queryReceipt") #获取返回按钮 def get_deliveryClose_element(self): return self.fd.get_element("deliveryClose")
class LoginPage(object): def __init__(self, driver): self.find_e = FindElement(driver, "LoginElement") def get_username_element(self): return self.find_e.get_element("username") def get_password_element(self): return self.find_e.get_element("password") def get_submit_element(self): return self.find_e.get_element("submit_button") def get_error_element(self): return self.find_e.get_element("error_text")
class LoginPage(object): #拿元素 def __init__(self,driver): self.get_ele=FindElement(driver) #获取用户名 def get_username_element(self): return self.get_ele.get_element("user") #获取密码 def get_pass_element(self): return self.get_ele.get_element("password") #获取错误信息 def get_error_element(self): return self.get_ele.get_element("error") #点击登录 def get_login_button(self): return self.get_ele.get_element("button")
class GetCode: def __init__(self, driver, file_path): self.file_path = file_path self.driver = driver self.find_e = FindElement(self.driver) # 获取截图 def get_picture(self): print("file_path", self.file_path) self.driver.save_screenshot(self.file_path) code_image = self.find_e.get_element("code_image") # code_image = self.get_user_element("code_image") left = code_image.location['x'] top = code_image.location['y'] right = code_image.size['width'] + left bottom = code_image.size['height'] + top im = Image.open(self.file_path) img = im.crop((left, top, right, bottom)) img.save(self.file_path) time.sleep(2) return self.file_path # 获取验证码图片 def get_code_picture(self): file_path = self.get_picture() r = ShowapiRequest("http://route.showapi.com/184-4", "110187", "31fead27b6414c27b467e278ec3a62ed") r.addBodyPara("typeId", "35") r.addBodyPara("convert_to_jpg", "0") r.addFilePara("image", file_path) res = r.post() text = res.json()['showapi_res_body']['Result'] time.sleep(2) return text
class SearchElements(object): def __init__(self, driver): self.driver = driver self.fd = FindElement(self.driver) # 搜索框 def search_input(self): return self.fd.get_element('search_input') # 百度一下按钮 def search_button(self): return self.fd.get_element('search_button') # 搜索结果提示 def search_result(self): return self.fd.get_element('search_result')
def get_captcha_image(self, file_name): self.driver.save_screenshot(file_name) captcha_element = self.get_user_element('getcode_num') left = captcha_element.location['x'] top = captcha_element.location['y'] right = captcha_element.size['width'] + left height = captcha_element.size['height'] + top image = Image.open(file_name) img = image.crop( (left * 1.25, top * 1.25, right * 1.25, height * 1.25)) img.save(file_name) # 转为灰度图 imgsty = img.convert('L') imgsty.save(file_name) threshold = 200 # 匿名函数 filter_func = lambda x: 0 if x < threshold else 1 photo = imgsty.point(filter_func, '1') photo.save(file_name) text = image_to_string(photo, config='eng') if text == "" or text is None: self.discern_captcha_image(file_name) print("未获取到验证码") else: captcha_error = FindElement().get_element('captcha_code-error') if captcha_error is not None: print("验证码错误") self.discern_captcha_image(file_name) else: return text