python鼠标事件 详解_Python+Selenium学习--鼠标事件

场景

前景讲解了鼠标的click()事件,而我们在实际的web产品测试中,有关鼠标的操作,不仅仅只有单击,有时候还包括右击,双击,拖动等操作,这些操作包含在ActionChains类中。

ActionChains类鼠标操作的常用方法:

context_click()                           右击

double_click()                           双击

drag_and_drop()                      拖动

move_to_element()                 鼠标悬停在一个元素上

click_and_hold()                     点击鼠标左键,不松开

鼠标事件

1.鼠标右击事件

#!/usr/bin/env python

# -*- codinfg:utf-8 -*-

'''

@author: Jeff LEE

@file: 鼠标事件.py

@time: 2018-09-21 14:14

@desc:

'''

from selenium.webdriver.common.action_chains import ActionChains

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get('https://www.baidu.com/')

#定位需要右击元素

right = driver.find_element_by_id("kw")

#对定位对象进行右击操作

ActionChains(driver).context_click(right).perform()

time.sleep(2)

driver.quit()

ActionChains用于生成用户的行为;所有的行为都存储在actionchains对象,通过perform()执行存储的行为

perform()执行所有ActionChains存储的行为,perform()同样也是ActionChains类提供的方法,通常他们配合使用

2.鼠标双击事件

#!/usr/bin/env python

# -*- codinfg:utf-8 -*-

'''

@author: Jeff LEE

@file: 鼠标事件.py

@time: 2018-09-21 14:14

@desc:

'''

from selenium.webdriver.common.action_chains import ActionChains

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get('https://www.baidu.com/')

#定位需要双击元素

double = driver.find_element_by_id("kw")

#对定位对象进行双击击操作

ActionChains(driver).double_click(double).perform()

time.sleep(2)

driver.quit()

对于操作系统的操作来说,双击使用比较频繁,带对于web而言,比较少

3.鼠标拖放操作

drag_and_drop(source,target)

在源元素上按下鼠标,然后移动到目标元素释放

source:鼠标按下的源元素

target:鼠标释放的目的元素

#!/usr/bin/env python

# -*- codinfg:utf-8 -*-

'''

@author: Jeff LEE

@file: 鼠标事件.py

@time: 2018-09-21 14:14

@desc:

'''

from selenium.webdriver.common.action_chains import ActionChains

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get('https://www.baidu.com/')

#定位源元素

source = driver.find_element_by_id("xx")

#定位目的元素

target = driver.find_element_by_id("xx")

#执行移动操作

ActionChains(driver).drag_and_drop(source,target).perform()

time.sleep(2)

driver.quit()

4.移动鼠标到元素上

#!/usr/bin/env python

# -*- codinfg:utf-8 -*-

'''

@author: Jeff LEE

@file: 鼠标事件.py

@time: 2018-09-21 14:14

@desc:

'''

from selenium.webdriver.common.action_chains import ActionChains

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get('https://www.baidu.com/')

#定位元素

above = driver.find_element_by_id("xx")

#执行移动操作

ActionChains(driver).move_to_element(above).perform()

time.sleep(2)

driver.quit()

5.按下鼠标左键不松开

#!/usr/bin/env python

# -*- codinfg:utf-8 -*-

'''

@author: Jeff LEE

@file: 鼠标事件.py

@time: 2018-09-21 14:14

@desc:

'''

from selenium.webdriver.common.action_chains import ActionChains

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get('https://www.baidu.com/')

#定位元素

aa=driver.find_element_by_id("su")

#执行点击元素不松开

ActionChains(driver).click_and_hold(aa).perform()

time.sleep(2)

driver.quit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值