webdriver高级特性:鼠标与键盘事件

ActionChains类中关于鼠标和键盘事件的常用方法

一:鼠标事件

click(on_element=None):单击元素操作
perform():提交(重放)已保存的动作,执行. ActionChains中存储的行为
context_click():右击
double_click():双击
move_to_element(to_element):鼠标悬停,将鼠标移动到指定元素中央
drag_and_drop(source,target):鼠标拖动

引入ActionChains类:
from selenium.webdriver.common.action_chains import ActionChains

#coding=utf-8
#鼠标事件
from selenium import webdriver
import time
#引入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains

driver=webdriver.Chrome()
driver.get(“http://www.baidu.com”)
#鼠标悬停 move_to_element
set=driver.find_element_by_xpath(’//*[@id=“u1”]/a[9]’)
set.click()

#perform 执行所有actionchains中存储的行为
ActionChains(driver).move_to_element(set).perform()
time.sleep(5)
driver.find_element_by_link_text(u’搜索设置’).click()

#鼠标右键 context_click,双击double_click(),
youjian=driver.find_element_by_id(‘su’)
ActionChains(driver).context_click(youjian).perform()
time.sleep(5)

#拖动 drag_and_drop
element=driver.find_element_by_name()
target=driver.find_element_by_name()
ActionChains(driver).drag_and_drop(element,target).perform()`

二:键盘事件

**keys()**类提供键盘上所有按键操作
**send_keys()**方法可模拟键盘输入,也可模拟键盘上的组合键
send_keys(keys_to_send):对当前焦点元素的键盘操作
send_keys_to_element(element,keys_to_send):对指定元素的键盘操作
还可以模拟一些组合键:
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)
send_keys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)

eg:#coding=utf-8
#键盘事件
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep

driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys("seleniumm")
sleep(5)
#组合键使用
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
sleep(5)
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
#ctrl+a
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a')
sleep(3)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'x')
sleep(3)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值