slenium之webdriver的鼠标、键盘操作

一,鼠标操作

1)实现鼠标操作的代码步骤:

  1. 导包:from selenium.webdriver.common.action_chains import ActionChains
  2. 实例化ActionChains对象(实例化一个鼠标对象,driver是浏览器对象):Action=ActionChains(driver)
  3. 调用右键方法(username是用某方法定位到的元素对象):element=Action.context_click(username)
  4. 执行该操作:element.perform()
  5. 或者把3,4步骤合写,右键该对象并执行:Action.context_click(username).perform()

2)WebDriver常见鼠标操作方法:

  1. context_click() 右击 --> 此方法模拟鼠标右键点击效果,注意在ActionChains类中的鼠标右键方法是个已知的bug,因为它能点击右键出现菜单,但无法选择右键菜单选项
  2. double_click() 双击 --> 此方法模拟双标双击效果
  3. drag_and_drop() 拖动 --> 此方法模拟双标拖动效果
  4. move_to_element() 悬停 --> 此方法模拟鼠标悬停效果
  5. perform() 执行 --> 此方法用来执行以上所有鼠标方法,所有的方法都需要执行才能生效

双击右击代码类似,在1)中已经提到过了,我们略过,先看一下 拖动 的代码:
拖动: 模拟鼠标拖动动作,选定拖动 源元素 释放到 目标元素

  1. 源元素 socure=driver.find_element_by_id(xxx)
  2. 目标元素 target=driver.find_element_by_id(xxx)
  3. 调用方法 Action.drag_and_drop(source,target).perform()

悬停: 模拟鼠标悬停在选中的元素,如将模拟鼠标悬停在网页某按钮上,会显示一些提示

  1. 导包…
  2. 实例化…
  3. 调用悬停方法:Action.move_to_element(element).perform()

二,键盘操作

1)实现键盘操作的代码步骤:

  1. 导包Keys类: from selenium.webdriver.common.keys import Keys
  2. 定位用户名元素: element=driver.find_element_by_id(“userA”)
  3. 输入用户名"admin1":element.send_keys(“admin1”)
  4. 删除“1”(删除“1”后用户名为“admin”):element.send_keys(Keys.BACK_SPACE)
  5. 全选(模拟按键ctrol+A键选中“admin”):element.send_keys(Keys.CONTROL,‘a’)
  6. 复制(模拟按键ctrol+C键复制“admin”):element.send_keys(Keys.CONTROL,‘c’)
  7. 粘贴(模拟按键ctrol+V键复制“admin”到密码元素处):driver.find_element_by_id(‘passwordA’).send_keys(Keys.CONTROL,‘v’)

2)常见键盘操作方法:

  1. send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
  2. send_keys(Keys.SPACE) 空格键(Space)
  3. send_keys(Keys.TAB) 制表键(Tab)
  4. send_keys(Keys.ESCAPE) 回退键(Esc)
  5. send_keys(Keys.ENTER) 回车键(Enter)
  6. send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
  7. send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)

调用方法和1)中的示例都一样,提示,不需要像鼠标操作一样还得.perform()执行操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值