自动化UI测试元素定位精炼

嗨。大家好,我是兰若姐姐。

今天给大家总结下元素定位的方式,直接上干货!

1. ID定位 (ID Selector)

使用元素的唯一ID属性进行定位。

python 复制代码
element = driver.find_element_by_id("element_id")

2. Name定位 (Name Selector)

使用元素的Name属性进行定位。

python 复制代码
element = driver.find_element_by_name("element_name")

3. Class Name定位 (Class Name Selector)

使用元素的Class Name属性进行定位。

python 复制代码
element = driver.find_element_by_class_name("element_class_name")

4. Tag Name定位 (Tag Name Selector)

使用元素的HTML标签名称进行定位。

python 复制代码
element = driver.find_element_by_tag_name("input")

5. XPath定位 (XPath Selector)

使用XPath表达式进行定位,适用于更加复杂的结构。

python 复制代码
# 绝对路径

element = driver.find_element_by_xpath("/html/body/div[1]/div[2]/input")

# 相对路径

element = driver.find_element_by_xpath("//input[@id='element_id']")

6. CSS Selector定位 (CSS Selector)

使用CSS选择器进行定位,支持多种灵活的选择方式。

python 复制代码
# 选择ID

element = driver.find_element_by_css_selector("#element_id")

# 选择Class

element = driver.find_element_by_css_selector(".element_class_name")

# 选择属性

element = driver.find_element_by_css_selector("input[name='element_name']")

使用完整的超链接文本进行定位。

python 复制代码
element = driver.find_element_by_link_text("Click here")

使用部分超链接文本进行定位。

python 复制代码
element = driver.find_element_by_partial_link_text("Click")

9. DOM定位 (DOM Selector)

直接操作Document Object Model(DOM)进行元素定位。

python 复制代码
element = driver.execute_script('return document.getElementById("element_id");')

10. Accessibility ID定位 (Accessibility ID)

主要用于移动应用自动化测试。

python 复制代码
element = driver.find_element_by_accessibility_id("accessibility_id")

示例:

假设有一个网页,其部分HTML结构如下:

html 复制代码
<html>

<body>

<div id="main">

<input id="username" name="username" class="input-field" type="text"/>

<button id="submit-btn" class="button-class" type="submit">Submit</button>

<a href="home.html">Home</a>

</div>

</body>

</html>
  1. ID定位:
python 复制代码
element = driver.find_element_by_id("username")
  1. Name定位:
python 复制代码
element = driver.find_element_by_name("username")
  1. Class Name定位:
python 复制代码
element = driver.find_element_by_class_name("input-field")
  1. Tag Name定位:
python 复制代码
element = driver.find_element_by_tag_name("input")
  1. XPath定位:
python 复制代码
element = driver.find_element_by_xpath("//input[@id='username']")
  1. CSS Selector定位:
python 复制代码
element = driver.find_element_by_css_selector("#username")
  1. Link Text定位:
python 复制代码
element = driver.find_element_by_link_text("Home")
  1. Partial Link Text定位:
python 复制代码
element = driver.find_element_by_partial_link_text("Ho")
  1. DOM定位:
python 复制代码
element = driver.execute_script('return document.getElementById("username");')

通过这些常见的元素定位方式,你可以在自动化测试中灵活地选择适合的方式来定位网页元素,从而实现高效和可靠的测试脚本。

相关推荐
蹦蹦跳跳真可爱5891 小时前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
nananaij1 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
雷羿 LexChien2 小时前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
敲键盘的小夜猫2 小时前
LLM复杂记忆存储-多会话隔离案例实战
人工智能·python·langchain
高压锅_12203 小时前
Django Channels WebSocket实时通信实战:从聊天功能到消息推送
python·websocket·django
胖达不服输4 小时前
「日拱一码」020 机器学习——数据处理
人工智能·python·机器学习·数据处理
吴佳浩4 小时前
Python入门指南-番外-LLM-Fingerprint(大语言模型指纹):从技术视角看AI开源生态的边界与挑战
python·llm·mcp
吴佳浩5 小时前
Python入门指南-AI模型相似性检测方法:技术原理与实现
人工智能·python·llm
叶 落5 小时前
计算阶梯电费
python·python 基础·python 入门
Python大数据分析@6 小时前
Origin、MATLAB、Python 用于科研作图,哪个最好?
开发语言·python·matlab