Selenium Python 中的 XPath 是什么?17 Mar 2025 | 4 分钟阅读 Selenium in PythonSelenium 是一个开源 Python 框架,它提供了API,用于使用 Selenium 编写功能测试。它用于 Web 应用程序的跨浏览器测试。各种脚本语言支持此库,如 Python、Java、Node.js、C# 和 Ruby。 Selenium 的开发旨在驱动浏览器并执行测试,以供开发人员、项目经理和质量保证工程师用于加速测试。多年来,Selenium 已从一项驱动单个浏览器和运行测试的技术,发展成为一个标准的软件协议,用于像人类一样与浏览器交互,一个用于录制和回放测试(Selenium IDE)的浏览器内工具,一个用于同时运行多个测试的分布式计算网格(Selenium Grid),以及更多。 使用Web 驱动程序,Selenium 可以导航 Web 浏览器并执行所需的测试,如搜索网页、滚动页面、解析页面、同时运行多个测试等。 安装 Python 中的 Selenium 库可以使用命令提示符或任何 Python 终端使用此命令安装 Python 中的 Selenium 库 在 Selenium 中实现框架的第一步是查找浏览器中的 Web 元素。XPath 有助于查找这些 Web 元素并导航 Web 浏览器。 Selenium 中的 XPathSelenium 库中的 XPath 是用于动态定位 Web 元素的路径。XPath 被称为XML 路径语言。XPath 与 Selenium WebDriver 一起使用,通过其HTML 结构通过获取所需的标签来导航网页。它可以定位HTML 和 XML 文档的元素。XPath 可以准确地为自动化测试导航网页。 当 Web 驱动程序导航任何 Web 浏览器时,它会创建一个DOM(文档对象模型)结构。然后,XPath 表达式在文档对象模型结构中查找 Web 元素。 Selenium 中 XPath 的语法Selenium 库中的 XPath 可以表示为 此处,
Selenium 中 XPath 的格式此处,
在 Selenium 中使用 XPath让我们了解如何使用 XPath 获取 Web 元素 示例 1:使用 Selenium 导航网页并使用 XPath 获取 Web 元素的程序。 代码 导入所需的包 2. 使用 Web 驱动程序打开 Web 浏览器 3. 获取用于获取 Web 元素的 XPath 输出 <selenium.webdriver.remote.webelement.WebElement (session="b676ae0461ecd5fe1870a8c44dcb9200", element="9A35AA5EC57622AD748FCBB7F1FE36AD_element_4230")> 浏览器输出 ![]() 说明 在此代码中,我们使用selenium web drivers打开了javatpoint 网页,并使用带有XPath的find_element,我们追踪了搜索栏选项。 Web 驱动程序将在新窗口中打开一个新浏览器,然后根据要求进行导航。 如何在 Selenium 中按 XPath 查找元素?首先必须通过其XML 路径确定指定Web 元素的位置,以便在DOM 结构中更改它。XPath 通常是开始在 Selenium 中使用定位器来完成此任务的最简单方法。查看页面上的组件的首选定位器是XPath。如果ID、name、class name等通用定位器无法识别元素,XPath 可以从XML 或 HTML 文档中提取数据。 Selenium 中的各种定位器用于使用其标签或 CSS 类名搜索元素。使用 ID 和 CSS 标签定位元素是最快的,但我们可以将XPath 移至 CSS 标签。XPath 定位器可以进行更复杂和深入的搜索。 创建 XPath 有不同的方法
除了这些之外,还有许多创建 XPath 的方法。 Selenium 中 XPath 的不同类型两种类型的 XPath用于定位元素:
路径由其 XPath 节点指定,该节点可以是路径的起点到元素所在的位置,也可以是 DOM 中的一个点。 绝对 XPath绝对 XPath是一种用于绝对地定位元素的 XPath 类型。它具有从起始节点(路径的开始)到目标元素的所有元素的位置。如果节点发生任何更改或调整 XPath 定义的标签,使用绝对 XPath进行导航可能会导致问题。 绝对 XPath 的示例 绝对 XPath 始终以正斜杠 "/"开头。 相对 XPath相对 XPath是一种用于从网页的任何部分定位元素的 XPath 类型。当元素具有ID 或 name 属性时,XPath 也可以是相对的。它可以从HTML 结构的中部开始。它比绝对路径短得多。 相对 XPath 的示例 相对 XPath 始终以双正斜杠 "//"开头。 下一主题不使用额外空间合并两个排序数组 |
PyQt5 是一个流行的 Python GUI 框架,它提供了一套用于创建桌面应用程序的工具。PyQt5 中的一个组件是 QDockWidget,它是一个可以停靠在 QMainWindow 中或作为顶级窗口浮动的窗口小部件。要设置...
阅读 3 分钟
如何将 Python 列表或可迭代对象拆分为块 在本教程中,我们将学习将 Python 列表或其他可迭代对象拆分为块的各种选项。迭代器方法:Python 中的迭代器是用于遍历可迭代对象(如列表)的项目,...
7 分钟阅读
什么是二叉搜索树?二叉树是一种二叉数据结构,包含不同的节点,每个节点最多有两个子节点。这些节点遵循一些属性,包括:二叉树的左节点的值小于根节点的值。……
5 分钟阅读
通常,当我们使用 print 语句打印一个字符串时,我们会使用另一个 print 语句在新的一行中打印另一个字符串。当我们编写一个 print 语句后,在其执行后,光标会自动移到新的一行。为什么会这样呢?我们不能...
阅读 4 分钟
本教程将教我们关于字符编码和数字系统的知识。我们将探讨在 Python 中如何使用字符串和字节进行编码,以及通过各种形式的 int 字面量来了解数字系统。让我们来介绍一下 Python 中的字符编码。什么是字符编码?有...
阅读 8 分钟
在本教程中,我们将编写Python程序,将所有零移动到数组的末尾。问题陈述是给定一个由随机数组成的数组,其中在随机位置包含一些零,但我们需要保持...
阅读 4 分钟
找到给定单词的押韵词绝非易事,当我们写诗歌或押韵段落时,这变得更加困难。我们许多人可能听说过 CMU 发音字典以及它如何有助于产生押韵...
5 分钟阅读
Python 是用途最广泛、最流行的编程语言。它是初学者的推荐语言;即使经验丰富的程序员也在学习 Python。Python 使任务变得简单,并以几行代码完成它,而其他编程语言需要很多行。选择...
阅读 2 分钟
从太空观察太阳系会非常有趣。事实上,为什么不使用 Python 来制作太阳系的视觉描绘呢?在这个项目中,太阳系将使用 Python 进行图形表示。什么是太阳系?地球是其中的一员...
阅读 6 分钟
作物推荐系统是一种帮助农民就应种植的作物做出明智决策的工具。该系统考虑气候、土壤类型、灌溉和市场需求等多种因素,为农民提供个性化建议。本文将讨论如何构建...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India