web自动化测试Selenium点击元素的常用方法

 更新时间:2024年09月23日 09:28:44   作者:weixin_41812355  
在Web自动化测试中,Selenium提供多种点击方法,常用的click()方法通过选中元素并触发点击事件,若click()方法不稳定,可以采用JavaScript执行点击或使用ActionChains类模拟鼠标点击,需要的朋友可以参考下

前言

点击方法在web自动化测试中经常用到,下面就来介绍一下selenium常用和不常用的点击方法;

1、常用方法

1.1、使用 click() 方法:

这是最简单和最常用的方法。通过选中要点击的元素,然后使用 click() 方法来触发点击事件。
示例代码:

element = self.driver.find_element(By.XPATH,"//div[@class='ant-select-selection__rendered']").find_elements(By.XPATH, "//div[@class='ant-select-selection-selected-value' and contains(@title,'全部')]")[1]

element.click()

1.2、使用 JavaScript 执行点击事件:

有时候使用 Selenium 的 click() 方法可能不够稳定,可以通过执行 JavaScript 代码来模拟点击事件。
示例代码:

element = self.driver.find_element(By.XPATH,"//div[@class='ant-select-selection__rendered']").find_elements(By.XPATH, "//div[@class='ant-select-selection-selected-value' and contains(@title,'全部')]")[1]

self.driver.execute_script("arguments[0].click();", element)

1.3、使用 ActionChains 类:

ActionChains 类提供了模拟用户行为的方法,其中包括鼠标点击操作。
示例代码:

element = self.driver.find_element(By.XPATH,"//div[@class='ant-select-selection__rendered']").find_elements(By.XPATH, "//div[@class='ant-select-selection-selected-value' and contains(@title,'全部')]")[1]

ActionChains(self.driver).click(element).perform()

这些方法可以根据具体情况和需求选择合适的方式来触发点击事件。通常情况下,推荐优先使用 click() 方法,如果出现稳定性问题,可以尝试使用 JavaScript 执行点击事件或者 ActionChains 类来解决。

附:selenium点击悬停元素

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
#找到设置
element = driver.find_element(By.ID,'s-usersetting-top')
#鼠标悬停
ActionChains(driver).move_to_element(element).perform()
#点击“高级搜索”
#WebDriverWait(driver,10):在设置时间(10s)内,等待后面的条件发生。如果超过设置时间未发生,就抛出异常。等待元素出现:visibility_of_element_located
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//*[@id="s-user-setting-menu"]/div/a[2]')))
driver.find_element_by_xpath('//*[@id="s-user-setting-menu"]/div/a[2]').click()

总结

到此这篇关于web自动化测试Selenium点击元素常用方法的文章就介绍到这了,更多相关Selenium点击元素方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现自动化接收与处理手机验证码

    Python实现自动化接收与处理手机验证码

    在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下
    2025-03-03
  • 使用Python将PowerPoint转换为Word文档的示例代码

    使用Python将PowerPoint转换为Word文档的示例代码

    在日常工作中,我们经常需要将 PowerPoint 演示文稿内容转换为 Word 文档,本文将介绍如何使用 Free Spire.Presentation for Python 和 Free Spire.PDF for Python,通过 Python 自动完成 PowerPoint 到 Word 的转换,并确保排版尽量保留,需要的朋友可以参考下
    2025-11-11
  • Pandas格式化DataFrame的浮点数列的实现

    Pandas格式化DataFrame的浮点数列的实现

    本文主要介绍了Pandas格式化DataFrame的浮点数列的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • python+opencv识别图片中的圆形

    python+opencv识别图片中的圆形

    这篇文章主要为大家详细介绍了python+opencv识别图片中的圆形 ,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python关于OS文件目录处理的实例分享

    Python关于OS文件目录处理的实例分享

    在本篇文章里小编给大家整理的是一篇关于Python关于OS文件目录处理的实例内容,有兴趣的朋友们可以学一下。
    2021-05-05
  • Python的json.loads() 方法与json.dumps()方法及使用小结

    Python的json.loads() 方法与json.dumps()方法及使用小结

    json.loads() 是一个非常有用的方法,它允许你在处理 JSON 数据时,将其转换为 Python 数据类型,以便于在代码中进行操作和处理,这篇文章给大家介绍Python的json.loads() 方法与json.dumps()方法及使用小结,感兴趣的朋友一起看看吧
    2024-03-03
  • 浅谈keras中的Merge层(实现层的相加、相减、相乘实例)

    浅谈keras中的Merge层(实现层的相加、相减、相乘实例)

    这篇文章主要介绍了浅谈keras中的Merge层(实现层的相加、相减、相乘实例),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python命令行解析模块详解

    Python命令行解析模块详解

    这篇文章主要介绍了Python命令行解析模块详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • 对python实现模板生成脚本的方法详解

    对python实现模板生成脚本的方法详解

    今天小编就为大家分享一篇对python实现模板生成脚本的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python中accelo包语法、参数和实际应用案例总结

    Python中accelo包语法、参数和实际应用案例总结

    Accelo是Python与专业服务自动化平台交互的库,支持API认证、数据增删改查及批量操作,这篇文章主要介绍了Python中accelo包语法、参数和实际应用案例的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-09-09

最新评论