主要内容
- 问题描述
- 解决方案
-
- 通过全选的方法清除数据
- 通过执行js的方法清除数据
- 示例代码
问题描述
使用clear()方法没反应。或者清除了文本,然后在执行输入命令时,前面清除的文本又会出现。
解决方案
通过全选的方法清除数据
element.send_keys(Keys.CONTROL, "a")
element.send_keys(Keys.BACKSPACE)
通过执行js的方法清除数据
js = 'document.querySelector("#kw").value="";'
driver.execute_script(js)
示例代码
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com/")
element = driver.find_element_by_id("kw")
element.send_keys("开始演示通过 Ctrl+A -> Backspace 的方法清掉数据")
time.sleep(1)
# 通过全选( Ctrl+A -> Backspace )的方法
element.send_keys(Keys.CONTROL, "a")
element.send_keys(Keys.BACKSPACE)
time.sleep(1)
element.send_keys("接下来演示通过 js 的方法清掉数据")
time.sleep(1)
# 通过 js 的方法
js = 'document.querySelector("#kw").value="";'
driver.execute_script(js)
time.sleep(2)
driver.quit()