ActionsChains类鼠标事件和Keys类键盘事件

一、鼠标事件 如,移动、点击、释放、单击、右击,拖动等

      键盘事件如:输入、回车、粘贴、复制、剪贴等

      使用ActionsChains类和Keys类之前都必须先导入

      from selenium.webdriver.common.action_chains import ActionChains

      from selenium.webdriver.common.keys import Keys

二、ActionsChains类的常用方法

1、move_to_element()悬停

     以百度首页为例,鼠标悬浮至“设置”上时,会出现设置下方的多个选项

    代码如下:

 

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time as t
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com/')
t.sleep(2)
#1.move_to_element()悬停
ele=driver.find_element_by_link_text(u"设置")
ActionChains(driver).move_to_element(ele).perform()
#点击搜索设置
driver.find_element_by_css_selector('.setpref').click()
t.sleep(2)
driver.quit()

2、右击context_click()

    以百度云盘里,右击文件时上出现分享等选项为例

    

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import
ActionChains
import time as t
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('https://pan.baidu.com/')
t.sleep(2)
driver.find_element_by_css_selector('.account-title>a').click()
driver.find_element_by_id('TANGRAM__PSP_4__username').send_keys('182918*****)
driver.find_element_by_id('TANGRAM__PSP_4__password').send_keys('XXXXXXX')
driver.find_element_by_id('TANGRAM__PSP_4__submit').click()
file=driver.find_element_by_css_selector('.hfvvQGz')
ActionChains(driver).context_click(file).click()
t.sleep(5)
driver.quit()

3、click_and_hold()按住鼠标左键在原元素上不释放

     以打开百度首页,在搜索框输入Python,点击“百度一下”不释放

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time as t
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com/')
t.sleep(2)
#2.click_and_hold()按住鼠标左键在原元素上不释放
driver.find_element_by_id('kw').send_keys('python')
sou=driver.find_element_by_id('su')
ActionChains(driver).click_and_hold(sou).perform()
#释放鼠标
ActionChains(driver).click_and_hold(sou).release()
t.sleep(2)
driver.quit()

三、键盘Keys类的常用方法

    键盘事件可以实现点击F1到F12,回车,剪切等,部分例子的代码如下:

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time as t
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.savingpay.com/')
t.sleep(2)
ele=driver.find_element_by_id('searchMsg')
#键盘点击F12
#ele.send_keys(Keys.F12)
#输入文字后,键盘点击Ctrl+A全选输入的文字
ele.send_keys("java")
t.sleep(5)
ele.send_keys(Keys.CONTROL,'a')
t.sleep(5)
ele.send_keys(Keys.BACK_SPACE)
t.sleep(5)
driver.quit()

   

 

 

 

转载于:https://www.cnblogs.com/sunny0/p/7646467.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值