封装ObjectMap.py工具类
七、元素点击
def element_click(self,
driver,
locate_type,
locator_expression,
locate_type_disappear=None,
locator_expression_disappear=None,
locate_type_appear=None,
locator_expression_appear=None,
timeout=30
):
"""
元素点击
:param driver: 浏览器驱动
:param locate_type: 定位方式类型
:param locator_expression: 定位表达式
:param locate_type_disappear: 等待元素消失类型
:param locator_expression_disappear: 等待元素消失表达式
:param locate_type_appear:
:param locator_expression_appear:
:param timeout:超时时间
:return:
"""
element = self.element_appear(driver=driver,
locate_type=locate_type,
locator_expression=locator_expression,
timeout=timeout)
try:
element.click()
except StaleElementReferenceException:
self.wait_for_read_state_complete(driver=driver)
time.sleep(0.06)
element = self.element_appear(driver=driver,
locate_type=locate_type,
locator_expression=locator_expression,
timeout=timeout)
element.click()
except Exception as e:
print("页面异常,元素不可点击",e)
return False
try:
self.element_appear(
driver,
locate_type_appear,
locator_expression_appear
)
self.element_disappear(
driver,
locate_type_disappear,
locator_expression_disappear
)
except Exception as e:
print("等待元素消失或者出现失败",e)
return False
return True
八、文件上传
def upload(self,driver,locate_type,locator_expression,file_path):
"""
文件上传
:param driver:
:param locate_type:
:param locator_expression:
:param file_path:
:return:
"""
element=self.element_get(driver,locate_type,locator_expression)
return element.send_keys(file_path)
九、跳转地址
def element_to_url(
self,
driver,
url,
locate_type_disappear=None,
locator_expression_disappear=None,
locate_type_appear=None,
locator_expression_appear=None
):
"""
跳转地址
:param driver:浏览器驱动
:param url:跳转地址
:param locate_type_disappear:等待页面元素消失的定位方式
:param locator_expression_disappear:等待页面元素消失的定位表达式
:param locate_type_appear:等待页面元素出现的定位方式
:param locator_expression_appear:等待页面元素出现的定位表达式
:return:
"""
try:
driver.get(self.host+url)
self.wait_for_read_state_complete(driver)#等待页面元素加载完成
self.element_disappear(driver,locate_type_disappear,locator_expression_disappear)#跳转地址后等待元素小时
self.element_appear(driver,locate_type_appear,locator_expression_appear)#跳转地址后等待元素出现
except Exception as e:
print("跳转地址出现异常,异常原因:%s" % e)
return False
return True