登录操作,由于浏览器记录了该网页其他账号的信息,clear()方法失效的替换方案
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
def double_click_element(self,locator):
"""
双击操作
@param locator: 定位器
@return: None
"""
# 定位到元素
input_box = self.get_element(locator)
# 执行鼠标事件的双击
ActionChains(self.driver).double_click(input_box).perform()
文本输入框操作
def input_text(self,locator, text,append=False):
"""
清空原内容后再输入内容
保留原内容追加输入内容
@param locator: 定位器
@param text: 输入内容
@param append: True是追加输入,Flase是清空后输入
@return:
"""
ele = self.get_element(locator)
if not append:
# self.get_element(locator).clear()
# clear()方法失效,的替换方案
'-----方案一,通过双击,然后send_keys(text)。缺点有时双击不一定选中所有内容,可能存在无法清除的风险-----'
# self.double_click_element(locator)
'-----方案二,通过键盘的快捷键进行全选,然后删除-----'
ele.send_keys(Keys.CONTROL,"a")
ele.send_keys(Keys.DELETE)
# 输入内容
ele.send_keys(text)
else:
ele.send_keys(text)