python模拟鼠标拖动_Python+Selenium自动化篇-6-模拟鼠标操作

在webdriver中,鼠标的一些操作如:双击、右击、悬停、拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就可以了。

0.ActionChains类提供的鼠标常用方法:

perform():执行所有 ActionChains 中存储的行为。

context_click():右击

double_click():双击

drag_and_drop():拖到

move_to_element():鼠标悬停

注意:

使用之前需要引入 ActionChains 类。

from selenium.webdriver.common.action_chains import ActionChains

鼠标右击实例

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()

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页