1. 程式人生 > >python+selenium三:鼠標事件與鍵盤事件

python+selenium三:鼠標事件與鍵盤事件

圖片 png class 技術 context inf web tex 雙擊

# 1、鼠標事件:
# 每個模擬事件後需加.perform() 才會執行
# context_click() 右擊
# double_click() 雙擊
# drag_and_drop(source, target) 拖動
# move_to_element() 鼠標懸停
# move_to 移動


from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()

# move_to 移動
# 定位到元素的源位置
ele = driver.find_element_by_link_text(‘新聞‘)
# 將鼠標移動到定位的元素上面
ActionChains(driver).move_to_element(ele).perform()

技術分享圖片



# 鼠標拖放操作:drag_and_drop(source, target)
# source: 鼠標拖動的源元素。
# target: 鼠標釋放的目標元素。

# 定位元素的源位置
element = driver.find_element_by_id("xxx")
# 定位元素要移動到的目標位置
target = driver.find_element_by_id("xxx")
# 執行元素的拖放操作
ActionChains(driver).drag_and_drop(element, target).perform()

技術分享圖片




# 2、鍵盤事件
# 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.F5)鍵盤F5
# …
# send_keys(Keys.F12) 鍵盤F12


from selenium import webdriver
# 導入Keys 模塊
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
# 輸入框輸入內容
driver.find_element_by_id("kw").send_keys("seleniumm")
# Backspace鍵(刪除輸入的內容)
driver.find_element_by_id(‘kw‘).send_keys(Keys.BACK_SPACE)
# 如鍵盤的F5刷新
driver.find_element_by_id(‘kw‘).send_keys(Keys.F5)
# 輸入空格鍵+“教程”
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys(u"教程")
# ctrl+a 全選輸入框內容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, ‘a‘)
# ctrl+x 剪切輸入框內容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, ‘x‘)
# ctrl+v 粘貼內容到輸入框
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, ‘v‘)

技術分享圖片

python+selenium三:鼠標事件與鍵盤事件