自定义元素定位方法
可以使用显式等待来定位方法,提高定位效率
from selenium.webdriver.support.ui import WebDriverWait
# 查找元素(给点击,输入,获取文本方法)使用
@allure.step("定位元素")
def base_find_element(self, loc, timeout=10, poll=0.2):
"""
自定义元素定位方法
:param driver: 传入driver
:param loc: 元组方式传入元素
:return:返回定位到的元素
"""
# *loc将loc元组解包
return WebDriverWait(self.driver, timeout=timeout, poll_frequency=poll).until(
lambda x: x.find_elementment(*loc))
一个元素有多个动作时,把元素用一个对象接收,再后续执行动作,效率会高一些,不然每个动作执行前都会定位一次元素.
示例代码
ele_value=By.css,['#属性名=属性值']
ele_obj=base_find_element(ele_value)
ele.clear()
ele.send_keys(txt)