在使用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("所谓向日葵族")
? 更多好文欢迎关注我的公众号~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。