鼠标和键盘操作

1.1鼠标操作
 
鼠标操作实现方式
selenium提供鼠标操作的方法及步骤
需要导入ActionChains类
通过ActionChains实例化鼠标对象 action =ActionChains(driver) # driver表示的是浏览器驱动对象
调用鼠标的事件方法
调用鼠标的执行方法 action.perform()
 
 
1.2鼠标右击操作
右击操作的实现步骤:
针对由html自定义的右键菜单。可以使用右击的方式来进行操作。
创建鼠标对象 action = ActionChains(driver)
 
调用右击事件方法 action.context_click(element) #element表示的是一个元素对象
 
调用鼠标执行方法 action.perform()
 
# 导包
import time
from selenium import  webdriver
# 实例化浏览器驱动
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
# 打开测试网站
driver.get("file:///D:/software/UI%E8%87%AA%E5%8A
%A8%E5%8C%96%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/
web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%
E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.ht
ml")
# 在用户名文本框上点击鼠标右键
# 创建鼠标对象
action = ActionChains(driver)
# 调用鼠标右击的方法
action.context_click(driver.find_element(By.ID,"userA"))
# 调用鼠标执行的方法
action.perform()
# 等待3S
time.sleep(3)
# 退出浏览器驱动
driver.quit()
 
 
1.3 鼠标双击操作
鼠标双击的实现步骤
创建鼠标对象 action=ActionChains(driver)
 
调用鼠标双击事件方法 action.double_click(element) #element表示是元素对象
 
调用鼠标的执行方法 action.perform()
 
# 导包
import time
from selenium import  webdriver
# 实例化浏览器驱动
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
# 打开测试网站
driver.get("file:///D:/software/UI%E8%87%AA%E5%8A
%A8%E5%8C%96%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/
web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%
E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.ht
ml")
# 输入用户名admin,暂停3秒钟后,双击鼠标左键,选中admin
element = driver.find_element(By.ID, "userA")
element.send_keys("admin")
time.sleep(3)
# 创建鼠标对象
action = ActionChains(driver)
# 调用鼠标双击事件方法
action.double_click(element)
# 调用鼠标执行方法
action.perform()
# 等待3S
time.sleep(3)
# 退出浏览器驱动
driver.quit()
 
 
1.4鼠标拖动操作
鼠标拖动的实现步骤:
创建鼠标对象 action = ActionChains(driver)
 
调用鼠标拖动事件方法 action.drag_and_drop(source,target) # source表示的是源元素,被拖动的元素, target表示是目标源,也就是要拖动到哪个元素上。
 
调用鼠标执行方法 action.perform()
 
# 导包
import time
from selenium import  webdriver
# 实例化浏览器驱动
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
# 打开测试网站
driver.get("file:///D:/software/UI%E8%87%AA%E5%8A%A8
%E5%8C%96%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/web%E8
%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%
E5%90%88/pagetest/drag.html")
# 把红色方框拖拽到蓝色方框上
source = driver.find_element(By.ID, "div1")
target = driver.find_element(By.ID, "div2")
# 实例化鼠标对象
action = ActionChains(driver)
# 调用鼠标拖动事件方法
action.drag_and_drop(source, target)
# 调用鼠标执行方法
action.perform()
# 等待3S
time.sleep(3)
# 退出浏览器驱动
driver.quit()
 
 
 
 
1.5 鼠标悬停操作
 
鼠标悬停实现步骤:
 
实例化鼠标对象 action = ActionChains(driver)
 
调用鼠标悬停事件方法 action.move_to_element(element)# element表示的是元素对象
 
调用鼠标执行方法 action.perform()
 
 
# 导包
import time
from selenium import  webdriver
# 实例化浏览器驱动
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
# 打开测试网站
driver.get("file:///D:/software/UI%E8%87%AA%E5%8A%A8
%E5%8C%96%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/web%E8
%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%
E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html")
 
# 模拟鼠标悬停在‘注册’按钮上
element = driver.find_element(By.CSS_SELECTOR,"button")
# 创建鼠标对象
action = ActionChains(driver)
# 调用鼠标悬停事件方法
action.move_to_element(element)
# 调用鼠标执行方法
action.perform()
# 等待3S
time.sleep(3)
# 退出浏览器驱动
driver.quit()
 
 
1.6 鼠标单元素拖动操作
鼠标单元素拖动实现步骤
 
创建鼠标对象 action=ActionChains(driver)
 
调用鼠标单元素拖动事件方法action.drag_and_drop_by_offset(element, x, y) x, y 表示的元素拖动时横向和纵向移动的距离,单位为像素,element表示的是元素对象 移动的像素最终要比在web页面中看到的移动像素值要大,最好大于5个像素或者10像素
 
调用鼠标执行方法 action.perform()
 
 
# 导包
import time
from selenium import  webdriver
# 实例化浏览器驱动
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
# 打开测试网站
driver.get("file:///D:/software/UI%E8%87%AA%E5%8A%A8
%E5%8C%96%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/web%E8
%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%
E5%90%88/pagetest/%E9%AA%8C%E8%AF%81%E7%A0%81/index.
html")
# 模拟鼠标实现滑块验证码的操作
element = driver.find_element(By.CSS_SELECTOR,
'.handler_bg')
# 创建鼠标对象
action = ActionChains(driver)
# 调用鼠标单元素拖动事件方法
action.drag_and_drop_by_offset(element, 265, 0)
# 调用鼠标执行方法
action.perform()
# 等待3S
time.sleep(3)
# 退出浏览器驱动
driver.quit()
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2022-07-23 17:59  一影惊孤鸿  阅读(187)  评论(0)    收藏  举报