python selenium 鼠标键盘操作

一、鼠标操作

在Webdriver中,鼠标操作的方法封装在ActionChains类中。ActionChains类常用的方法有:

1、perform()    执行所有ActionChains中存储的行为

2、context_click()   单击右键

3、double_click()    双击左键

4、drag_and_drop()    鼠标单击左键选中元素后拖动到目标位置

5、move_to_element()    鼠标悬停

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains


driver = webdriver.Chrome()
driver.get('http://www.xxxxx.com/')
# ......

# 定位到要右击的元素
r_click = driver.find_element_by_xpath('//a[@class="sabX3Rn"]')
# 对定位到的元素进行单击右键操作
ActionChains(driver).context_click(r_click).perform()

# 定位到要悬浮的元素
move = driver.find_element_by_xpath('//span[@class="DIcOFyb"]/i')
# 对定位到的元素进行鼠标悬停操作
ActionChains(driver).move_to_element(move).perform()

# 定位到要双击的元素
double_click = driver.find_element_by_xpath('//ul[@class="fOHAbxb"]/li[3]/a/span/span')
# 对定位到的元素进行双击操作
ActionChains(driver).double_click(double_click).perform()

# 定位到鼠标移动前的元素
source = driver.find_element()
# 定位到鼠标移动目标位置的元素
target = driver.find_element()
# 执行鼠标拖动操作
ActionChains(driver).drag_and_drop(source, target).perform()

driver.quit()

二、键盘操作

在Webdriver中,键盘操作的方法封装在Keys类中。Keys类几乎提供了键盘上所有的按键操作,键盘操作可以用send_keys()方法模拟键盘输入。常用键盘操作有:

1、send_keys(Keys.BACKSPACE)    删除BackSpace

2、send_keys(Keys.SPACE)    空格Space

3、send_keys(Keys.CONTROL, 'a')    全选Ctrl+A

4、send_keys(Keys.CONTROL, 'x')    剪切Ctrl+X

5、send_keys(Keys.CONTROL, 'c')    复制Ctrl+C

6、send_keys(Keys.CONTROL, 'v')    粘贴Ctrl+V

7、send_keys(Keys.ENTER)    回车Enter

8、send_keys(Keys.ESCAPE)    回退Esc

9、send_keys(Keys.TAB)    制表键tab

10、send_keys(Keys.F1)    F1

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get('http://www.baidu.com')

# 输入字符串python+
driver.find_element_by_id('kw').send_keys('python+')
# 删除最后一个字符‘+’
driver.find_element_by_id('kw').send_keys(Keys.BACKSPACE)
# 空格Space
driver.find_element_by_id('kw').send_keys(Keys.SPACE)
# 全选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')
# 输入字符串selenium
driver.find_element_by_id('kw').send_keys('selenium')
# 全选Ctrl+A
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')
# 复制Ctrl+C
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c')
# 粘贴Ctrl+V
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')
# 回车Enter
driver.find_element_by_id('kw').send_keys(Keys.ENTER)
# 回退Esc
driver.find_element_by_id('kw').send_keys(Keys.ESCAPE)
# 制表键tab
driver.find_element_by_id('kw').send_keys(Keys.TAB)
# F1
driver.find_element_by_id('kw').send_keys(Keys.F1)

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值