3操作元素:模拟键盘鼠标事件

Posted yhms

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3操作元素:模拟键盘鼠标事件相关的知识,希望对你有一定的参考价值。

一、简单操作
1.点击(鼠标左键)页面按钮:click() 
2.清空输入框:clear()
3.输入字符串:send_keys()
4.send_keys()如果是収送中文的,前面需加 u,如:u"中文",因为这里是输入windows 系统,windows 系统是 GBK 编码,我们的脚本是 utf-8,需要转码为 Unicode 国际编码,返样才能识别到
技术图片
 
5、submit()模拟提交操作
技术图片

 

 

二、模拟鼠标操作
在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类。ActionChains 类提供了鼠标操作的常用方法:

首先要引入包
from selenium.webdriver import ActionChains
ActionChains方法列表:

click(on_element=None) ——单击鼠标左键

context_click(on_element=None) ——点击鼠标右键

double_click(on_element=None) ——双击鼠标左键

drag_and_drop(source, target) ——拖拽到某个元素然后松开

move_to_element(to_element) ——鼠标移动到某个元素

perform() ——执行ActionChains中的所有行为

技术图片

 

drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开

key_down(value, element=None) ——按下某个键盘上的键

key_up(value, element=None) ——松开某个键

click_and_hold(on_element=None) ——点击鼠标左键,不松开

move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标

move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置

release(on_element=None) ——在某个元素位置松开鼠标左键

send_keys(*keys_to_send) ——发送某个键到当前焦点的元素

send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

 

三、模拟键盘操作
 
Keys类提供了几乎键盘上的所有按键的方法,我们可以用Keys来模拟键盘上的按键,或者组合键,如Ctrl + C、Ctrl + V等等
1、首先要导入keys模块
from selenium.webdriver.common.keys import Keys
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.F12) #键盘 F12

技术图片

 

 

 

以上是关于3操作元素:模拟键盘鼠标事件的主要内容,如果未能解决你的问题,请参考以下文章

(转)python selenium-webdriver 元素操作之鼠标和键盘事件

selenium鼠标键盘事件

13.Selenium鼠标和键盘操作模拟鼠标操作页面元素(了解)

Python+selenium自动化之鼠标键盘事件

selenium键盘事件和鼠标事件

如何在 Qt 中模拟适用于 Linux 和 Windows 的所有鼠标和键盘事件?