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)  #按下消除键

 

嗯,加了两秒暂停,不然操作太快,看不见过程。

posted @ 2019-07-17 22:43  星海问道者  阅读(216)  评论(0编辑  收藏  举报