Selenium2+python操作元素(键盘和鼠标事件)

   4.其它常见的键盘操作:

键盘F1到F12:send_keys(Keys.F1) 把F1改成对应的快捷键

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

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

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

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

制表键Tab:  send_keys(Keys.TAB) 

  • 删除键 Keys.BACK_SPACE
  • 空格键 Keys.SPACE
  • 制表键 Keys.TAB
  • 回退键 Keys.ESCAPE
  • 刷新键 Keys.F5

这里只是列了一些常用的,当然除了键盘事件,也有鼠标事件


四、鼠标悬停事件

    1.鼠标不仅仅可以点击(click),鼠标还有其它的操作,如:鼠标悬停在某个元素上,鼠标右击,鼠标按住某个按钮拖到

    2.鼠标事件需要先导入模块:from selenium.webdriver.common.action_chains import ActionChains

perform() 执行所有ActionChains中的行为

move_to_element() 鼠标悬停

    3.这里以百度页面设置按钮为例

这里对鼠标进行补充

  • perform():执行所有 ActionChains 中存储的行为。
  • context_click():右击
  • double_click():双击
  • drag_and_drop():拖到
  • move_to_element():鼠标悬停

鼠标右击实例

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains  # 引入 ActionChains 类

browser = webdriver.Chrome()
browser.get('https://www.baidu.com')  


# 定位到要右击的元素
right_click = browser.find_element_by_link_text('新闻')

# 对定位到的元素执行鼠标右键操作
#ActionChains(driver):调用ActionChains()类,并将浏览器驱动browser作为参数传入
#context_click(right_click):模拟鼠标双击,需要传入指定元素定位作为参数
#perform():执行ActionChains()中储存的所有操作,可以看做是执行之前一系列的操作
try:
    ActionChains(browser).context_click(right_click).perform()
    print('成功右击')
except Exception as e:
    print('fail')
#输出内容:成功双击

注意:

  • ActionChains(driver):调用ActionChains()类,并将浏览器驱动browser作为参数传入
  • context_click(right_click):模拟鼠标双击,需要传入指定元素定位作为参数
  • perform():执行ActionChains()中储存的所有操作,可以看做是执行之前一系列的操作

1.鼠标右击

  • context_click():右击
#   鼠标右击
# 定位到要右击的元素
right_click  = browser.find_element_by_id("xx")

# 对定位到的元素执行右击操作
ActionChains(browser).move_to_element(right_click ).perform()

2.鼠标双击

  • double_click():双击
# 定位到要右击的元素
double_click = browser.find_element_by_id('xx')

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

3.鼠标拖动

  • drag_and_drop(source,target):拖动
  • source:开始位置;需要拖动的元素
  • target:结束位置;拖到后需要放置的目的地元素
# 开始位置:定位到元素的原位置
source = driver.find_element_by_id("xx")

# 结束位置:定位到元素要移动到的目标位置
target = driver.find_element_by_id("xx")

# 执行元素的拖放操作
ActionChains(driver).drag_and_drop(source,target).perform()

4.鼠标悬停

  • move_to_element():鼠标悬停
# 定位到要悬停的元素
move = driver.find_element_by_id("xx")

# 对定位到的元素执行悬停操作
ActionChains(driver).move_to_element(move).perform()

 

 

 

转自:https://www.cnblogs.com/yoyoketang/p/6128607.html

https://www.cnblogs.com/jasontang369/p/9212381.html

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值