【基于Python的Selenium2自动化测试】06 - 模拟鼠标操作

2024-08-24 08:58

本文主要是介绍【基于Python的Selenium2自动化测试】06 - 模拟鼠标操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在之前的文章中,我们已经接触到了几个鼠标、键盘的简单操作了,如下:

  • 点击(鼠标左键)页面按钮:click()
  • 清空输入框:clear()
  • 输入字符串:send_keys()

当然,对于鼠标事件中,我们熟悉的还有:右击、双击、悬停、拖动 等功能。在WebDriver中,是将这些关于鼠标操作的方法封装在ActionChains类中了。

ActionChains类提供了以下鼠标相关操作方法:

  • perform(): 执行所有ActionChains中存储的行为
  • context_click():右击
  • double_click():双击
  • drag_and_drop(source, target):将source移动到target
  • move_to_element():悬停
  • submit():提交表单(一般用于模拟 回车键)

注意: 操作鼠标时,首先需要先导入模块:from selenium.webdriver.common.action_chains import ActionChains,然后使用perform()方法执行ActionChains中的行为。

这里我们模拟一下鼠标悬停的操作方法。

以 慕课网 为例,先登录进去慕课网,然后将塑标悬停在个人头像的位置:

【代码】

# coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains  #鼠标操作需引入ActionChains类
import timedriver = webdriver.Firefox()
driver.get("https://coding.imooc.com/")   # 打开慕课网# ====== 定位到帐号密码登录按钮
driver.find_element_by_id("js-signin-btn").click()
time.sleep(5)# ===== 定位到帐号密码登录框
username = driver.find_element_by_name("email")
username.clear()
username.send_keys("useName_XXXX")
password = driver.find_element_by_name("password")
password.clear()
password.send_keys("passWord_XXXX")
driver.find_element_by_xpath("//div[@id='signin']/div[2]/div/form/div[5]").click()
time.sleep(5)# #定位到要悬停的元素(个人头像)
target = driver.find_element_by_xpath("//div[@id='login-area']/ul/li[2]/a/img")
ActionChains(driver).move_to_element(target).perform()
time.sleep(8)driver.quit()

运行结果如下:
在这里插入图片描述

这篇关于【基于Python的Selenium2自动化测试】06 - 模拟鼠标操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102030

相关文章

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

Java利用Spire.XLS for Java自动化设置Excel的文档属性

《Java利用Spire.XLSforJava自动化设置Excel的文档属性》一个专业的Excel文件,其文档属性往往能大大提升文件的可管理性和可检索性,下面我们就来看看Java如何使用Spire... 目录Spire.XLS for Java 库介绍与安装Java 设置内置的 Excel 文档属性Java

Python自动化提取多个Word文档的文本

《Python自动化提取多个Word文档的文本》在日常工作和学习中,我们经常需要处理大量的Word文档,本文将深入探讨如何利用Python批量提取Word文档中的文本内容,帮助你解放生产力,感兴趣的小... 目录为什么需要批量提取Word文档文本批量提取Word文本的核心技术与工具安装 Spire.Doc

MySQL游标和触发器的操作流程

《MySQL游标和触发器的操作流程》本文介绍了MySQL中的游标和触发器的使用方法,游标可以对查询结果集进行逐行处理,而触发器则可以在数据表发生更改时自动执行预定义的操作,感兴趣的朋友跟随小编一起看看... 目录游标游标的操作流程1. 定义游标2.打开游标3.利用游标检索数据4.关闭游标例题触发器触发器的基

C#高效实现在Word文档中自动化创建图表的可视化方案

《C#高效实现在Word文档中自动化创建图表的可视化方案》本文将深入探讨如何利用C#,结合一款功能强大的第三方库,实现在Word文档中自动化创建图表,为你的数据呈现和报告生成提供一套实用且高效的解决方... 目录Word文档图表自动化:为什么选择C#?从零开始:C#实现Word文档图表的基本步骤深度优化:C

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

Python容器转换与共有函数举例详解

《Python容器转换与共有函数举例详解》Python容器是Python编程语言中非常基础且重要的概念,它们提供了数据的存储和组织方式,下面:本文主要介绍Python容器转换与共有函数的相关资料,... 目录python容器转换与共有函数详解一、容器类型概览二、容器类型转换1. 基本容器转换2. 高级转换示

在C#中分离饼图的某个区域的操作指南

《在C#中分离饼图的某个区域的操作指南》在处理Excel饼图时,我们可能需要将饼图的各个部分分离出来,以使它们更加醒目,Spire.XLS提供了Series.DataFormat.Percent属性,... 目录引言如何设置饼图各分片之间分离宽度的代码示例:从整个饼图中分离单个分片的代码示例:引言在处理

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA