WebDriver API之鼠标、键盘操作方法

使用 Selenium WebDriver 做web自动化测试的时候,会经常模拟鼠标和键盘的一些行为:
比如使用鼠标单击、双击、右击、拖拽、悬浮等动作
或者键盘输入、快捷键使用、组合键使用等模拟键盘的操作
在 WebDeriver 中,有专门的类来负责实现这些测试场景,那就是 ActionChains和Keys类。
1、鼠标的操作方法
Actionchains类封装了对鼠标时间的操作方法,常见的方法有:
context_click()右击————>此方法模拟鼠标的右键
double_click()双击
drag_and_drop()拖动
move_to_element()悬停
perform()执行
鼠标事件使用步骤:
导包:from selenium.webdriver.common.action_chains import ActionChains
封装鼠标事件到ActionChains中
执行ActionChains中封装的的行为
1.鼠标的悬浮和点击

#导包、创建浏览器对象、获取百度的首页
from selenium import webdriver
#导入鼠标事件的ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()

# 案例1:控制鼠标悬浮到百度首页“设置”按钮上
# setButton = driver.find_element_by_link_text("设置")
# 将对“设置”按钮的操作行为封装到ActionChains
# element = ActionChains(driver).move_to_element(setButton)
# 并调用perform方法执行悬浮操作
# element.perform()

# 案例2:在百度文本框中鼠标右键
webEdit = driver.find_element_by_id("kw")
element = ActionChains(driver).context_click(webEdit)
element.perform()

time.sleep(5)
driver.quit()

2.鼠标的拖拽动作
方法格式:drag_and_drop(source,target)

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
 
driver = webdriver.Firefox()
url = "http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable"

driver.get(url)
#切换到目标元素所在的frame
driver.switch_to.frame("iframeResult")
#确定拖拽目标的起点
source = driver.find_element_by_id("draggable")
#确定拖拽目标的终点
target = driver.find_element_by_id("droppable")
#执行动作
actions = ActionChains(driver)
actions.drag_and_drop(source,target)

#执行
actions.perform()
sleep(5)

键盘的操作:
Keys中封装了键盘上的按键或者组合键的字段,sendkeys()方法可以用来模拟键盘输入,除此之外还可以使用sendkeys方法发送文件到服务器(上传功能以input标签实现),常见的键盘事件操作有:
send_keys(Keys.Back_SPACE):删除键
send_keys(Keys.SPACE):空格键
send_keys(Keys.TAB):制表键
send_keys(Keys.ESCAPE):esc键
send_keys(Keys.ENTER):回车键
send_keys(Keys.CONTROL,’a’):全选
send_keys(Keys.CONTROL,’c’):复制
send_keys(Keys.CONTROL,’x’):剪切
send_keys(Keys.CONTROL,’v’):粘贴
send_keys(Keys.F1):F1键
键盘的使用步骤

#导包、创建浏览器对象、获取一下url地址
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

#driver:就是一个普通的变量,dr也行
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

# 1、百度“seleniumm”
driver.find_element_by_id("kw").send_keys("seleniumm")
time.sleep(1)
# 2、删除多输入的m
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
time.sleep(1)
# 3、再输入“空格 教程”,再次发送字符串,是和前面的进行拼接
driver.find_element_by_id("kw").send_keys(" 教程")
time.sleep(1)
# 4、ctrl+a,全选文本框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"a")
time.sleep(1)
# 5、ctrl+x,剪切选择的内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"x")
time.sleep(1)
# 6、ctrl+v,粘贴复制的内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"v")
time.sleep(1)
# 7、回车代替单击,完成搜索
driver.find_element_by_id("kw").send_keys(Keys.ENTER)
time.sleep(1)
# 8、退出浏览器
driver.quit()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值