天天看點

Selenium防踩坑 - clear()失效 解決方案問題描述解決方案示例代碼

主要内容

  • 問題描述
  • 解決方案
    • 通過全選的方法清除資料
    • 通過執行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()
           
Selenium防踩坑 - clear()失效 解決方案問題描述解決方案示例代碼
Selenium防踩坑 - clear()失效 解決方案問題描述解決方案示例代碼