平常我們會用到很多快捷鍵,selenium提供了比較完整的鍵盤操作。首先使用快捷鍵需要導入以下這個包
from selenium.webdriver.common.keys import Keys
然后在通過Keys去調用一些方法,如:
全選 send_keys(Keys.CONTROL,'a')
復制 send_keys(Keys.CONTROL,'c')
粘貼 send_keys(Keys.CONTROL,'v')
實力代碼如下:
from selenium.webdriver.common.keys import Keys from selenium import webdriver import time driver = webdriver.Chrome() driver.maximize_window() driver.get('http://www.baidu.com') driver.find_element_by_css_selector('#login-email-address').send_keys('admin') time.sleep(1) # todo 全選 driver.find_element_by_css_selector('#login-email-address').send_keys(Keys.CONTROL,'a') time.sleep(2) # TODO 復制 driver.find_element_by_css_selector('#login-email-address').send_keys(Keys.CONTROL,'c') time.sleep(2) # todo 粘貼 driver.find_element_by_css_selector('#login-password').send_keys(Keys.CONTROL,'v')
#通過回車鍵來代替點擊登錄按鈕 driver.find_element_by_id("kw").send_keys(Keys.ENTER) time.sleep(1) driver.quit()
send_keys()方法用來模擬鍵盤輸入,常用的鍵盤操作:
-
send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace)
-
send_keys(Keys.SPACE) 空格鍵(Space)
-
send_keys(Keys.TAB) 制表鍵(Tab)
-
send_keys(Keys.ESCAPE) 回退鍵(Esc)
-
send_keys(Keys.ENTER) 回車鍵(Enter)
-
send_keys(Keys.CONTROL,'a') 全選(Ctrl+A)
-
send_keys(Keys.CONTROL,'c') 復制(Ctrl+C)
-
send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)
-
send_keys(Keys.CONTROL,'v') 粘貼(Ctrl+V)
-
send_keys(Keys.F1) 鍵盤 F1
-
……
-
send_keys(Keys.F12) 鍵盤 F12
根據經驗來看鍵盤的操作在自動化實際運行中會不穩定,如果不是必須要用建議不用。