selenium05-鼠标事件与键盘事件
鼠标事件
from selenium.webdriver.common.action_chains import ActionChains
ActionChains(driver).move_to_element(ele).perform()
# ActionChains(driver) 生成模拟用户行为,接受一个参数,浏览器
# perform() 执行存储行为
以下鼠标事件接受一个参数,元素
context_click(ele) #右击事件
double_click(ele) #双击事件
drag_and_drop(ele) #拖动
move_to_element(ele) #鼠标移动到某个元素上
click_and_hold() #按下鼠标左键在一个元素上
鼠标移动事件 示范
百度首页,鼠标停留右上角“更多产品”,会展开“糯米/音乐/图片/知道/文库 全部产品”,点击进入文库
from selenium.webdriver.common.action_chains import ActionChains
b = webdriver.Firefox()
b.get('http://www.baidu.com')
ele_more = b.find_element_by_name('tj_briicon') #定位 “更多产品”
ActionChains(driver).move_to_element(ele_more).perform() #鼠标移动到 “更多产品”,侧栏展开
b.find_element_by_name('tj_wenku').click() #点击文库
键盘事件
from selenium.webdriver.common.keys import Keys
send_keys(Keys.BACK_SPACE) #删除键backspace,好像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,好像大写A也可以
send_keys(Keys.CONTROL, 'c') #复制 ctrl + c,好像大写C也可以
send_keys(Keys.CONTROL, 'v') #粘贴 ctrl + v,好像大写V也可以
send_keys(Keys.CONTROL, 'x') #剪切 ctrl + z,好像大写X也可以
send_keys(Keys.F1) #键盘F1
键盘消除字符事件 示范
百度搜索框,输入 “柚子1”,然后删除键,删掉那个 “1”
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
b = webdriver.Firefox()
b.get('http://www.baidu.com')
time.sleep(3)
ele1 = b.find_element_by_id('wd') #定位输入框
ele1.send_keys('柚子1') #输入 ”柚子1”
time.sleep(2)
ele1.send_keys(Keys.BACK_SPACE) #按下消除键
嗯,加了两秒暂停,不然操作太快,看不见过程。