在使用selenium的时候,发现有些弹出窗上的输入框,输入文本后,使用clear()方法无效。

需要先熟悉Selenium的同学:点击学习

比如切换登录账号时,退出登陆后进入重新登陆界面,账户的<input>编辑框默认填充的是前一个账号,clear()失效,这个时候使用send_keys会直接在后面追加,登录的账号不对导致登录失败

尝试过click()点击该输入框,再输入,发现还是无效,最终使用了组合键双击-> Ctrl+a -> Delete解决,当然也可以调js清空编辑框。

# 找到要删除的按钮
userName = self.wait.until(EC.presence_of_element_located((By.XPATH,
'.//div[@class="login-content"]//div[@class="el-tabs__content"]//form//div[@class="el-form-item"][./label/@for="username"]//input[@class="el-input__inner"]')))
# 判断编辑框的内容是否为空 不为空就开始全选清空
if userName.get_attribute("value"):
# 单击
userName.click()
# 双击
ActionChains(self.browser).double_click(userName).perform()
# ctrl + a 全选 
userName.send_keys(Keys.CONTROL + 'a')
# 快捷键删除
userName.send_keys(Keys.DELETE)
# 正常输入操作----
userName.send_keys("所谓向日葵族")

原文链接

? 更多好文欢迎关注我的公众号~

公众号


所谓向日葵族
19 声望4 粉丝

Empty page presents more possibilities.