摘自https://www.cnblogs.com/sanzangTst/p/7477382.html
前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和密码,怎么点击登录按钮,首先我们先回顾一下元素的基本操作。
1.点击(鼠标左键)页面按钮:click()
2.请空输入框:clear()
3.输入字符串:send_keys()
4.提交表单:submit()
今天这篇文章着重讲一下键盘和鼠标的模拟事件。
一、鼠标事件
1.首先模拟鼠标的操作需要先导入鼠标模块:
from selenium.webdriver.common.action_chains import ActionChains
2.在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供。ActionChains 类提供了鼠标操作的常用方法:
- perform(): 执行所有 ActionChains 中存储的行为;
- context_click(): 右击;
- double_click(): 双击;
- drag_and_drop(): 拖动;
- move_to_element(): 鼠标悬停
3.鼠标悬停操作:
二、键盘事件
1.模拟键盘的操作需要先导入键盘模块:
from selenium.webdriver.common.keys import Keys
2.Keys()类提供了键盘上几乎所有按键的方法。前面了解到,send_keys()方法可以用来模拟键盘 输入, 除此 之外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等。
3.常见的键盘操作:
- 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
4.键盘具体操作: