Selenium成长之路-13鼠标事件

简介: Selenium成长之路-13鼠标事件

日常生活中,鼠标是我们每天工作必不可少的一个设备,那么在自动化测试中,模仿鼠标操作,也是必不可少的一个功能。


那么在测试工作中,鼠标都有哪些操作呢?单机,右击,双击,拖动等,对的,平时这些操作,在自动化测试中,也是必须要用到的。


那么我们就来看看在这篇文章中,都有哪些ActionChains类:


 .click()   单机


 .context_click() 右击


 .double_click() 双击


 .drag_and_drop() 拖拽


 .move_to_elemet() 鼠标悬停


 .click_and_hold()按下鼠标左键在一个元素上



一、鼠标右键(right_click)


我们还是在百度首页举例子; 鼠标右击  "百度一下"按钮

image.png


代码如下:


# coding = utf-8
from selenium import  webdriver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
url = 'http://www.baidu.com'
driver.get(url)
# 设定需要定位到的元素,即"百度一下"按钮
right=driver.find_element(By.XPATH,"//*[@id = 'su']")
# 增加一个判断
try:
    # 对定位到的元素进行操作
    ActionChains(driver).context_click(right).perform()  #perform()执行所有ActionChains中存储的行为
    print("test pass")
except Exception as e:
    print("test failed",format(e))
time.sleep(5)
driver.quit()


这里首先需要导入ActionChains类,即:from selenium.webdriver.common.action_chains import ActionChains


第二步需要定位到,需要右键的元素:即:right = driver.find_element(By.XPATH,"//*[@id ='su' ]")


第三步,右键定位到的元素,即:ActionChains(driver).context_click(right).preform()


这里需要说明的几点:


 ①ActionChains(driver):  driver 就是webdriver实例执行用户的操作,即  dirver = webdriver.Chorme()


 ②context_click(right):就是右击需要定位的元素即:right = driver.find_element(By.XPATH,"//*[@id ='su' ]")


③preform(): 就是执行所有ActionChains中存储的行为,同时也是ActionChains类提供的方法,一般preform()与ActionChains()配合使用。这个记住就好了



二、鼠标双击(double_click)


连续双击"百度一下"按钮


代码如下:


#百度输入框输入信息
driver.find_element(By.XPATH,"//*[@id='kw']").send_keys("DJ_Carl")
# 设定需要定位到的元素,即"百度一下"按钮
double=driver.find_element(By.XPATH,"//*[@id = 'su']")
# 增加一个判断
try:
    # 对定位到的元素进行操作
    ActionChains(driver).double_click(double).perform()  #perform()执行所有ActionChains中存储的行为
    print("test pass")
except Exception as e:
    print("test failed",format(e))
...


三、鼠标悬停(move_to_element)


鼠标悬停在百度首页的"设置"文字链接上


#定位需要悬浮的目标元素
setting = driver.find_element(By.XPATH,"//*/a[contains(@href,'http://www.baidu.com/gaoji/preferences.html')]")
# 使用link_text定位 "设置"文字链接
# setting =driver.find_element_by_link_text('设置')
# 增加一个判断
try:
    # 对定位到的元素进行操作
    ActionChains(driver).move_to_element(setting).perform()  #perform()执行所有ActionChains中存储的行为
    time.sleep(3)
    print("test pass")
except Exception as e:
    print("test failed",format(e))


这里使用两个方法,XPath() 和link_text(),如果能判定当前页面只有这一个唯一元素的话,使用link_text()也是很方便的。


以上就是ActionChains类事件的一些方法,关于ActionChains类的其他方法,有时间的话,会陆续加上的。

目录
相关文章
曲鸟全栈UI自动化教学(五):Selenium的键盘鼠标事件详解
曲鸟全栈UI自动化教学(五):Selenium的键盘鼠标事件详解
321 0
|
Python
Selenium2+python自动化12-操作元素(键盘和鼠标事件)
前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了。本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮)。
1453 0
|
3月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
191 5
|
1月前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
113 31
Selenium IDE:Web自动化测试的得力助手
|
1月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
210 17
Selenium:强大的 Web 自动化测试工具
|
3月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
3月前
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
745 5
|
3月前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。
|
2月前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
67 0

热门文章

最新文章