惊艳的Selenium技巧:探索基础和动作链的奇妙世界

这篇具有很好参考价值的文章主要介绍了惊艳的Selenium技巧:探索基础和动作链的奇妙世界。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Selenium简介

selenium可以帮助我们便捷的获取网站中动态加载的数据,也可以便捷实现模拟登录;
selenium是基于浏览器自动化的一个模块,使用可以操作浏览器来帮我们实现一些自动化的操作!
Selenium 是一个广泛使用的自动化测试工具,用于测试 Web 应用程序的功能和兼容性。它提供了一组功能强大的工具和库,可以模拟用户在浏览器中的操作,并对应用程序进行自动化测试。

以下是 Selenium 的一些重要特点和组成部分:

  1. 多浏览器支持:Selenium 支持多种主流浏览器,包括 Chrome、Firefox、Safari、Edge 等。这意味着您可以使用相同的测试脚本在不同的浏览器中执行测试,以验证应用程序的兼容性和一致性。

  2. 多语言支持:Selenium 提供了多种编程语言的支持,包括 Java、Python、C#、JavaScript 等。这使得开发人员可以使用自己熟悉的语言编写测试脚本,并灵活地与其他工具和框架进行集成。

  3. 元素定位:Selenium 提供了丰富的元素定位方法,可以通过 ID、类名、标签名、XPath、CSS 选择器等方式定位页面上的元素。这使得测试人员可以准确地操作和验证页面上的各个元素。

  4. 页面交互和操作:Selenium 可以模拟用户在浏览器中的各种操作,如点击、输入、选择、提交表单等。这使得测试人员可以编写测试脚本来模拟用户在应用程序中的交互,以验证应用程序的功能和用户体验。

  5. 并发测试:Selenium 支持并发测试,可以同时运行多个测试用例或测试套件,提高测试效率和速度。

  6. 浏览器控制:Selenium 可以完全控制浏览器的行为,如打开新窗口、切换窗口、处理弹窗、处理 Cookies 等。这使得测试人员可以模拟各种场景和情况,进行更全面和复杂的测试。

总体而言,Selenium 是一个功能强大、灵活且广泛使用的自动化测试工具,可以帮助开发人员和测试人员进行 Web 应用程序的自动化测试。无论是测试 Web 应用程序的功能、兼容性还是进行数据采集和挖掘,Selenium 都是一个重要的工具。

2.Selenium初试

1.环境安装

pip install selenium

2.下载浏览器驱动程序

下载驱动程序一定要和浏览器版本匹配!

驱动器下载路径:https://chromedriver.storage.googleapis.com/index.html

3.小试牛刀

from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from time import sleep
# 环境搭建
from selenium.webdriver import Chrome
# 创建一个Service对象
from webdriver_manager.chrome import ChromeDriverManager
service = Service(ChromeDriverManager().install())
web = Chrome(service=service)
# 向淘宝发送一个请求
web.get("https://www.taobao.com")
# 执行一组js程序 向下滚动
web.execute_script('window.scrollTo(0,document.body.scrollHeight)')
# 实现标签定位
search_input = web.find_element(By.ID, 'q')
# 标签的交互
search_input.send_keys('区块链入门')
# 定位搜索按钮
btn = web.find_element(By.CLASS_NAME, 'btn-search')
# 点击按钮
btn.click()
web.get('http://www.baidu.com')
sleep(2)
# 回退
web.back()
sleep(2)
web.forward()
sleep(5)
web.quit()

编写基于浏览器自动化的操作代码:

​ --发起请求:get(url)

​ --标签定位:find系列的方法

​ --标签交互:send_keys(‘xxx’)

​ --执行js程序:execute_script(‘jsCode’)

​ --前进,后退:forward()、back()

​ --关闭浏览器:quit()

3.iframe处理+动作链

当页面中存在 iframe 时,需要先切换到 iframe 中才能对其中的元素进行操作。
当处理 iframe(内嵌框架)和执行动作链(ActionChains)时,可以按照以下步骤在 Python 中使用 Selenium:

  1. 处理 iframe:
    在 Selenium 中,需要先切换到 iframe 才能对其中的元素进行操作。可以使用 switch_to.frame() 方法来切换到指定的 iframe。例如:
   from selenium import webdriver
   driver = webdriver.Chrome()
   iframe_element = driver.find_element_by_tag_name("iframe")
   driver.switch_to.frame(iframe_element)

在切换到 iframe 后,可以使用常规的 Selenium 方法来定位和操作 iframe 中的元素。

  1. 执行动作链:动作链(ActionChains)是一系列连续的动作,可以模拟用户在页面上的复杂操作,如鼠标移动、拖拽、键盘操作等。Selenium 提供了 ActionChains 类来支持动作链的执行。动作链(ActionChains)是一系列连续的动作,可以模拟用户在页面上的复杂操作,如鼠标移动、拖拽、键盘操作等。在 Python 中,可以使用 ActionChains 类来执行动作链。以下是一个示例,展示了如何使用动作链来模拟鼠标移动和点击操作:
from selenium import webdriver
   from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
   actions = ActionChains(driver)
   element = driver.find_element_by_id("elementId")
   actions.move_to_element(element).click().perform()

在上述示例中,首先导入 webdriverActionChains 类。然后,创建一个 ActionChains 对象,并使用 move_to_element() 方法将鼠标移动到指定元素上,接着使用 click() 方法模拟点击操作,最后使用 perform() 方法执行动作链。
根据具体需求,可以使用其他的 ActionChains 方法,如 drag_and_drop()send_keys()double_click() 等来执行不同类型的动作。文章来源地址https://www.toymoban.com/news/detail-735046.html

到了这里,关于惊艳的Selenium技巧:探索基础和动作链的奇妙世界的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 探索 Tello 无人机的奇妙世界

    如果您希望使用 Tello 无人机拍摄照片并将其传输到您的 PC,那么您走运了! 只需几行 Python 代码,您就可以轻松控制您的 Tello 拍照,然后将 JPEG 图片传输到您的计算机。 首先,确保在 Python 环境中安装了必要的包。 你需要 djitellopy 包来与你的 Tello 通信,需要 opencv-python 包来

    2024年02月14日
    浏览(52)
  • 「探索API的奇妙世界:理解、使用和优化接口技术」

    引言: 在现代科技的时代,API(应用程序编程接口)已经成为各行业中不可或缺的关键技术。从手机应用到云计算,从社交媒体到物联网,几乎所有的软件都在背后使用着API来实现数据交互和功能扩展。在这篇文章中,我们将深入探索API的奇妙世界,从理解API的基本概念开始

    2024年02月16日
    浏览(41)
  • 探索指针的奇妙世界,程序中的魔法箭头(上)

    指针是内存中最小单元(字节)的编号,也就是地址 我们平时口中所说的指针,通常说的是指针变量。 总结:指针就是地址,平时口头说的指针是指针变量 指针变量:我们通过取地址操作符取出变量的内存起始地址,把地址存放到一个变量中,这个变量就是指针变量。 总结

    2024年01月21日
    浏览(44)
  • 探索Python条件语句的奇妙世界:解密逻辑与控制流

    Python的条件语句用来根据特定的条件决定程序的执行流程。它允许程序根据条件的真假执行不同的代码块,从而实现不同情况下的不同操作。条件语句使程序能够根据特定条件进行逻辑判断和选择性的控制,从而增强了程序的灵活性和可扩展性。那么今天将由我来带大家进入

    2024年02月12日
    浏览(61)
  • Python 集合探索:解密高效数据操作和快速算法的奇妙世界

    在 Python 的众多数据结构中,集合(Sets)是一个引人注目且实用的概念。集合提供了一种存储无顺序、唯一元素的数据结构,它们不仅可以帮助我们高效处理数据,还能应用于各种算法和问题。 本博客将带您踏上一段关于 Python 集合的探索之旅。我们将深入了解集合的基本概

    2024年02月12日
    浏览(58)
  • 【Python百宝箱】声音的数字化探索:Python引领音频奇妙世界

    在数字化时代,声音技术的迅速发展不仅革新了音乐产业,也在语音识别、虚拟现实、智能系统等领域引发了革命性变革。Python作为强大的编程语言,引领着音频处理与分析的新潮流。本文将探索Python在音频领域的广泛应用,从声音数据的处理到创意性应用。 1. librosa 介绍与

    2024年02月04日
    浏览(51)
  • Redis九种数据类型及其持久化机制:探索数据存储的奇妙世界

    目录 一、9种数据类型 3.1 Key操作 3.1.1 相关命令 练习: 3.2 String 3.2.1 结构图 3.2.2 相关命令  练习: 3.3 List(双向的链表) 3.3.1 结构图 3.3.2 相关命令 练习: 3.4 Set(无序集合) 3.4.1 结构图 3.4.2 相关命令 练习: 3.5 Zset(有序集合) 3.5.1 结构图 3.5.2 相关命令 练习 3.6 Hash 3.6.1 结构

    2024年02月16日
    浏览(49)
  • 创意无限:用Midjourney探索Icon设计的奇妙世界-对比v6和v5版本

    所有的提示词,gzh:七哥的AI日常 hello,大家好,欢迎回来。 在数字世界中,app应用程序已成为我们日常生活中不可或缺的一部分,一个精心设计的app图标是吸引用户注意力并留下深刻印象的关键。 app图标的形状对其识别度和记忆度起着至关重要的作用。有些图标选择正方形

    2024年02月20日
    浏览(56)
  • 探索小程序的世界(专栏导读、基础理论)

    由于微信自身的强势社交属性,以及其对小程序的战略定位(连接人与服务)的前提下进行了持续的大力支持,截至2021年6月,微信官方宣布已经有超过300万个微信小程序。这个数字在不断增长,因为越来越多的开发者和企业选择在微信平台上开发和发布小程序。 相比于传统

    2024年02月12日
    浏览(38)
  • 猫头虎分享:探索TypeScript的世界 — TS基础入门 ‍

    博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接 : 🔗 精选专栏 : 《面试题大全》 — 面试准备的宝典! 《IDEA开发秘籍》 — 提升你的IDEA技能! 《100天精通Golang》 — Go语言学习之旅! 领域矩阵 : 🌐 猫头虎技术领域矩阵 : 深入探索

    2024年01月21日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包