键盘/鼠标事件

一,鼠标事件

要使用鼠标操作,首先需要引入ActionChains包

from selenium.webdriver.common.action_chains import ActionChains

 

  • context_click() 右击
  • double_click() 双击
  • drag_and_drop() 拖动
  • move_to_element() 鼠标悬停在一个元素上
  • click_and_hold() 按下鼠标左键在一个元素上

 

鼠标右键

#定位到要右击的元素 qqq=driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[3]/table/tbody/tr/td[2]")

#对定位到的元素执行鼠标右键操作 ActionChains(driver).context_click(qqq).perform()

 

鼠标双击的写法:

#定位到要双击的元素 qqq =driver.find_element_by_xpath("xxx")

#对定位到的元素执行鼠标双击操作 ActionChains(driver).double_click(qqq).perform()

 

鼠标拖放操作的写法

#定位元素的原位置 element = driver.find_element_by_name("source")

#定位元素要移动到的目标位置 target = driver.find_element_by_name("target")

#执行元素的移动操作 ActionChains(driver).drag_and_drop(element, target).perform()

备注:.每个方法后的perform()是关键,如果么有这一步,是不生效的,就好比前面把工作都准备好,放缓存或者内存当中,最后一步就是提交,但是没有提交,还是在缓存当中的,所以就看不到效果,就好比打开文件写入一样,如果不关闭文件,那么文件内容一直是空的,好多人说我明明写入东西了,怎么打开是空的,就是这原因

我现在想将我是超人这框拖拽到第一个框里面,分三步,分别定位两个元素,然后利用drag_and_drop方法

移动前

移动后:

 

 

二,键盘按键键用法:

要想调用键盘按键操作需要引入keys包:

from selenium.webdriver.common.keys import Keys

通过send_keys()调用按键:

send_keys(Keys.TAB)        # TAB

send_keys(Keys.ENTER)    # 回车

备注:使用场景,好多页面如果删除了,或者新增什么成功了,会有一个提示框提示一下,这个时候,如果去页面定位,然后再找到后,点击确定按钮,浪费时间,而且有时候不好操作,甚至有时间根本就没有按钮可以点击,这时候如果直接给一个回车键会非常好,可能有些人说那我等几秒让他自动消失,可以是可以,如果我现在大批量造数据,每操作一个等3秒,如果进行10000次操作需要等多久,这时候回车键就特别好用

driver.find_element_by_id("user_name").send_keys(Keys.TAB)

driver.find_element_by_id("user_pwd").send_keys(Keys.ENTER)

 

键盘组合键用法:

#ctrl+a 全选输入框内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')

#ctrl+x 剪切输入框内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')

#ctrl+v 粘贴内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')

 

定位页面元素,输入test,然后全选,然后剪贴,然后粘贴

找到第一个输入框,输入test,然后输入tab键,光标跳转到下一个输入框

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值