【selemium自动化——鼠标事件和键盘事件】

一、【鼠标事件】

关于鼠标的操作包含在ActionChains 类中。

ActionChains 类鼠标操作的常用方法:

context_click() 右击

double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停在一个元素上
click_and_hold() 按下鼠标左键在一个元素上

代码示例:

#引入ActionChains 类

from selenium.webdriver.common.action_chains import ActionChains

......

#定位到要操作的元素

abc=driver.find_element_by_id("xx")

#对定位到的元素进行鼠标右击操作

ActionChains(driver).context_click(right).perform() #所有的操作行为都存储在 actionchains 对象。通过 perform()执行存储的行为

#对定位到的元素进行鼠标双击操作

ActionChains(driver).double_click(double).perform()

#对定位到的元素进行鼠标拖放操作

#对元素的原始位置定位

element = driver.find_element_by_name("xxx")

#对目标元素进行定位

target = driver.find_element_by_name("xxx")

ActionChains(driver).drag_and_drop(element, target).perform()

#对定位的元素执行鼠标移动到上面的操作

ActionChains(driver).move_to_element(above).perform()

#对定位到的元素按下鼠标左键

ActionChains(driver).click_and_hold(left).perform()

二、【键盘事件】

webdriver 的 Keys()类提供键盘上所有按键的操作

代码示例:

#coding=utf-8
from selenium import webdriver

#引入 Keys 类包
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Firefox()
driver.get("http://www.baidu.com")

#输入框输入内容
driver.find_element_by_id("kw").send_keys("selenium")
time.sleep(3)

#删除多输入的一个 m
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
time.sleep(3)

#输入空格键+“教程”
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys(u"教程")
time.sleep(3)

#ctrl+a 全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,‘a‘)

time.sleep(3)

#ctrl+x 剪切输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,‘x‘)
time.sleep(3)

#输入框重新输入内容,搜索
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,‘v‘)
time.sleep(3)

#通过回车键盘来代替点击操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)
time.sleep(3)

driver.quit()

经常使用到的键盘操作:

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)

时间: 2024-10-22 16:47:50

【selemium自动化——鼠标事件和键盘事件】的相关文章

基于OpenGL编写一个简易的2D渲染框架-07 鼠标事件和键盘事件

这次为程序添加鼠标事件和键盘事件 当检测到鼠标事件和键盘事件的信息时,捕获其信息并将信息传送到需要信息的对象处理.为此,需要一个可以分派信息的对象,这个对象能够正确的把信息交到正确的对象. 实现思路: 要实现以上的功能,需要几个对象: 事件分派器:EventDispatcher,负责将 BaseEvent 分派给 EventListener 对象 事件监听器:EventListener,这只是一个接口类,接受 BaseEvent 的对象,真正的处理在它的子类中实现 事件:BaseEvent,储存

jQuery事件之键盘事件

一.首先需要知道的是: 1.keydown() keydown事件会在键盘按下时触发. 2.keyup() keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件 3.keypress() keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键 二.获得键盘上对应的ascII码: $(document).keydown(function(event){ alert(event.keyCode); }); $tips: 上面例子中,event.keyCode就可以帮助我

jQuery基础(鼠标事件,表单事件,键盘事件,自定义事件 篇)

1.jQuery鼠标事件之click与dbclick事件 方法一:$ele.click()(不带参数) <div id="test">点击触发<div> $("ele").click(function(){ alert('触发指定事件') }) $("#test").click(function(){ $("ele").click() //手动指定触发事件 });   方法二:$ele.click( h

selenium鼠标事件与键盘事件

鼠标事件,包含在ActionChains类中,常用方法如下: context_click() 右击double_click() 双击drag_and_drop() 拖动move_to_element() 鼠标悬停在一个元素上click_and_hold() 按下鼠标左键在一个元素上不放 键盘事件,包含在Keys类中,常用方法如下: send_keys(Keys.BACK_SPACE) 删除键(BackSpace)send_keys(Keys.SPACE) 空格键(Space)send_keys(

jQuery-3.事件篇---键盘事件

jQuery键盘事件之keydown()与keyup()事件 鼠标有mousedown,mouseup之类的事件,这是根据人的手势动作分解的2个触发行为.相对应的键盘也有这类事件,将用户行为分解成2个动作,键盘按下与松手,针对这样的2种动作,jQuery分别提供了对应keydown与keyup方法来监听 keydown事件: 当用户在一个元素上第一次按下键盘上字母键的时候,就会触发它.使用上非常简单,与基本事件参数处理保持一致,这里使用不在重复了,列出使用的方法 //直接绑定事件 $elem.k

JavaScript的事件_键盘事件的处理函数与HTML事件的处理函数

一.键盘事件的处理函数 1.keydown:当用户按下键盘上任意键触发,如果按住不放,会重复触发. <script type="text/javascript"> window.onload = function(){ onkeydown = function () {//不需要对象调用 alert('Lee'); }; } </script> </head> <body> <input type="button"

DOM事件处理程序-事件对象-键盘事件

事件流: 事件流--描述的是从页面中接受事件的顺序 IE  ---事件冒泡流:即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播至最不具体的那个节点(文档). Netscape  ---事件捕获流:不太具体的节点应该更早接收到事件,而最具体的节点最后接收到事件. 使用事件处理程序: 1. HTML事件处理程序 <input type="button" value="按钮" id="btn" onclick=&q

js鼠标事件、键盘事件实例代码

讲述了:鼠标的哪个按键被点击.当前鼠标的光标坐标是多少.被按下键的unicode码是多少.当前鼠标的光标相对于屏幕的坐标是多少.当前鼠标的光标坐标是多少.shift键是否按下.当前被点击的是哪一个元素 1. 鼠标的哪个按键被点击? <html> <head> <script type="text/javascript"> function whichButton(event) { if (event.button==2) { alert("

Javascript鼠标键盘事件

鼠标事件click:单击dblclick:双击mousedown:鼠标按下mouseup:鼠标抬起mouseover:鼠标悬浮mouseout:鼠标离开mousemove:鼠标移动mouseenter:鼠标进入mouseleave:鼠标离开 <button onclick="myClick()">鼠标单击</button>    <button ondblclick="myDBClick()">鼠标双击</button>