当前位置: 首页 > news >正文

Selenum八种常用定位(案例解析)

Selenium是一个备受推崇的工具。它有着丰富的功能,让我们能够与网页互动,执行各种任务,能为测试工程师和开发人员提供了很大的便利。

要充分利用Selenium,就需要了解如何正确定位网页上的元素。

接下来我将带大家共同探讨Selenium中八种常用的定位方法,并通过案例解析,帮助大伙更好地理解如何在自动化测试和网页爬虫中使用它们。

1. ID定位

driver.find_element_by_name("username").send_keys("admin")

2. name定位

driver.find_element_by_name("username").send_keys("admin")

 

3. class_name定位

# 可以根据class属性值来查找一个或者一组显示效果相同的页面元素

driver.find_element_by_class_name("spread").send_keys("admin")

 

driver.find_element_by_link_text("baidu 搜索").click()

5. 部分链接定位

# 使用此方法定位页面链接只需要模糊匹配链接文字即可,常用一匹配页面链接文字不定期发生少量变化的情况

driver.find_element_by_partial_link_text("baidu").click()

6. html标签名定位

# HTML标签名称的定位方式主要用于匹配多个页面元素的情况,将查找到的网页元素对象计数、遍历、修改属性等操作
driver.find_element_by_tag_name("input").send_keys("123")

 

7. Xpath定位

# 绝对路径定位元素
driver.find_element_by_xpath("/html/body/div/input['@value='查询']")
# 相对路径定位元素
driver.find_element_by_xpath("//input['@value='查询']")
# 索引号定位元素
driver.find_element_by_xpath("//input[2]")
# 使用页面元素的属性值定位元素
driver.find_element_by_xpath('//img[@alt="div1-img1"]')
# 模糊属性值定位元素
driver.find_element_by_xpath('//img[contains(@alt,"img")]')

 

8. CSS定位

#CSS:层叠样式表,主要是用于描述页面元素的展现和样式的定义

#1.使用绝对路径来定位元素
driver.find_element_by_css_selector('html>body>div>input[value="查询"]')
#2.使用相对路径来定位元素
driver.find_element_by_css_selector('input[value="查询"]')
#3.使用class名称来定位元素
driver.find_element_by_css_selector('input.spreed')
#4使用ID属性值来定位元素
driver.find_element_by_css_selector('input#div1input')
#5.使用页面其他属性值来定位元素
driver.find_element_by_css_selector('img[art="div1-img1"]')
driver.find_element_by_css_selector('img[art="div1-img1"][href="http://www.sogou.com"]')
#6.使用属性值的一部分内容来定位元素# ^表示从字符串的开始匹配# $表示从字符串的结尾匹配# *表示从字符串的模糊匹配
driver.find_element_by_css_selector('a[href^="http://www.so"]')
driver.find_element_by_css_selector('a[href$="gou.com"]')
driver.find_element_by_css_selector('a[href*="so"]')
#7.使用页面元素进行子页面元素的查找
driver.find_element_by_css_selector('div#div1>input#div1input')
driver.find_element_by_css_selector('div input')

 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

相关文章:

Selenum八种常用定位(案例解析)

Selenium是一个备受推崇的工具。它有着丰富的功能,让我们能够与网页互动,执行各种任务,能为测试工程师和开发人员提供了很大的便利。 要充分利用Selenium,就需要了解如何正确定位网页上的元素。 接下来我将带大家共同探讨Seleni…...

Web前端接入Microsoft Azure AI文本翻译

Azure 文本翻译是 Azure AI 翻译服务的一项基于云的 REST API 功能。 文本翻译 API 支持实时快速准确地进行源到目标文本翻译。 文本翻译软件开发工具包 (SDK) 是一组库和工具,可用于轻松地将文本翻译 REST API 功能集成到应用程序中。 文本翻译 SDK 可跨 C#/.NET、…...

容联七陌助力鱼跃医疗升级智能联络中心,让客户服务更“鱼跃”

在当今高度竞争的市场环境中,企业的客户服务质量对于维护品牌形象和保持竞争优势至关重要。而随着人工智能、大数据等技术快速发展,智能化客户服务正在成为各行各业发展的重要部分。 鱼跃医疗是一家致力于“用科技律动生命"的国内知名医疗制造企业…...

【Redis系列】在Centos7上安装Redis5.0保姆级教程!

哈喽, 大家好,我是小浪。那么最近也是在忙秋招,很长一段时间没有更新文章啦,最近呢也是秋招闲下来,当然秋招结果也不是很理想,嗯……这里就不多说啦,回归正题,从今天开始我们就开始正…...

线性代数-Python-03:矩阵的变换 - 手写Matrix Transformation及numpy中的用法

文章目录 一、代码仓库二、旋转矩阵的推导及图形学中的矩阵变换2.1 让横坐标扩大a倍,纵坐标扩大b倍2.2 关于x轴翻转2.3 关于y轴翻转2.4 关于原点翻转(x轴,y轴均翻转)2.5 沿x方向错切2.6 沿y方向错切2.7 旋转2.8 单位矩阵2.9 矩阵的…...

【单片机基础】按键状态机实现短按、长按、双击、三击和N击

下载地址: 【CSDNNaiva】源码:HK32F030M-按键扫描-短按长按检测【CSDNNaiva】源码:HK32F030M-ADC-EXTI-TM1624-USART-EEPROM-TiMBase-按键长按(231024) 参考资料 [1] 【CSDNPillarPeng】【按键】[独立按键] - 1: 单击&#xff0c…...

Ubuntu虚拟机部署OpenStack

1、部署环境 系统:ubuntu-22.04.3-desktop-amd64DevStack版本:2024.1VMware Workstation:8G内存、4核处理器、100G硬盘/1、网络NAT模式/1 2、Ubuntu环境设置 点击show applications,选择Software&Updates 跟换Ubuntu的镜像…...

ES在企业项目中的实战总结,彻底掌握ES的使用

通过之前两篇文章 了解了ES的核心概念和基础使用学习进阶的DSL语法处理复杂的查询 这段时间通过在本企业代码中对ES框架的使用,总结了不少经验。主要分为三点 企业封装了ES原生的api,需要使用企业项目提供的接口实现 -------简单使用(本章节目…...

QT的Qporcess功能的使用

具体实现代码如下&#xff1a; #include <QProgressBar>//必须要包含的头文件 #include <QProcess>// 创建一个QProgressBar对象QProgressBar *progressBar new QProgressBar(this);QProcess *proces;process_shownew process;// 设置进度条的最小值和最大值prog…...

【图灵诸葛】jvm笔记

2023年10月23日14:04:44 jvm 1.jdk体系结构图回顾(Av333129672,P1) jdk jre 底层是hotspot jvm 2.java虚拟机内部组成(Av333129672,P2) 堆 方法区 执行引擎 类加载 本地方法栈 线程栈&#xff08;虚拟机栈&#xff09; 3.java虚拟机栈讲解(Av333129672,P3) 程序计数器&#xf…...

数据安全小课堂开讲啦!看这里!

数据安全小课堂开讲啦&#xff01;看这里&#xff01; 1、什么是数据&#xff1f; 《数据安全法》第三条明确&#xff0c;本法所称的数据&#xff0c;就是指任何以电子或者其他方式对信息的记录。小到个人使用手机、电脑等电子产品时浏览的网页、下载的应用、存储的文件&…...

单片机矩阵键盘

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、什么是矩阵键盘&#xff1f;1.独立键盘2.矩阵键盘变化1变化2变化3 3. 通过变型&#xff0c;举一反三&#xff0c;就可以实现4*4的矩阵键盘扫描 二、使用步骤…...

横坐标日期等间隔绘图 python示例代码

有两列数据&#xff0c;一列是日期&#xff0c;另一列是数值。日期是递增的&#xff0c;但是间隔不是均匀的。比如1月1日至2月1日有10组数据&#xff0c;2月1日至3月1日有100组数据&#xff0c;3月1日至4月1日有1000组数据。我想绘折线图&#xff0c;横坐标是日期&#xff0c;纵…...

photoshop2024免费插件Portraiture3

随着手机摄影的普及&#xff0c;修图可以说是现代人的必备生活技能之一了&#xff0c;现在谁发个朋友圈不把自己的照片修的美美的呢&#xff1f;那么如何拥有一张氛围感满满的照片呢&#xff1f;这不得不提图片处理软件中的王牌——photoshop。作为专业的图片处理软件&#xff…...

NewStarCTF2023week4-More Fast(GC回收)

打开链接&#xff0c;存在很多个类&#xff0c;很明显是php反序列化漏洞利用&#xff0c;需要构造pop链 &#xff0c; 关于pop链构造的详细步骤教学&#xff0c;请参考我之前的博客&#xff0c;真的讲得很详细也容易理解&#xff1a; http://t.csdnimg.cn/wMYNB 如果你是刚接…...

和鲸赞助丨第16届中国R会议暨2023 X-AGI大会通知

第16届中国 R 会议暨2023 X-AGI大会将于11月25-30日在中国人民大学召开&#xff0c;探讨数据科学和人工智能的相关进展&#xff0c;本次会议将采用线上会议和线下会议相结合的方式举办。 在过去的15年里&#xff0c;中国R会议一直致力于探讨数据科学在各学科、各行业的探索和实…...

Python第三方库 - Flask(python web框架)

1 Flask 1.1 认识Flask Web Application Framework&#xff08; Web 应用程序框架&#xff09;或简单的 Web Framework&#xff08; Web 框架&#xff09;表示一个库和模块的集合&#xff0c;使 Web 应用程序开发人员能够编写应用程序&#xff0c;而不必担心协议&#xff0c;线…...

c# sqlite 修改字段类型

因为sqlite不支持直接修改字段类型&#xff0c; 所以只能创建新的表&#xff0c;再将原始数据复制过去。具体操作步骤如下&#xff1a; 第一步&#xff0c; 将表“tableName”的名称修改为 “oldTable” string queryString string.Format("ALTER TABLE {0} RENAME TO …...

[Pytorch] 保存模型与加载模型

1、保存模型 # 定义模型 model BPNetModel(n_featuren_feature,n_hiddenn_hidden,n_outputn_output) #调用网络# 保存模型 torch.save(model, BPNetModel0.pth) 2、加载模型 import torch## 读取模型 model torch.load(BPNetModel0.pth) 3、保存模型参数 #调用网络 mode…...

AES解密报错,Input length must be multiple of 16 when decrypting with padded cipher

# 项目场景:对登录用户名、密码前端加密,后端解密失败 --- # 问题描述 在做login登录页面的用户名和密码加密时,前端加密后端解密,但是抛出`报错:Input length must be multiple of 16 when decrypting with padded cipher`,仔细检查过偏移向量,没有问题,但还是不行,…...

第5章(补充) 张量宇宙学对黑洞奇点的解释——兼论奇点与大爆炸的统一机制

第5章&#xff08;补充&#xff09; 张量宇宙学对黑洞奇点的解释——兼论奇点与大爆炸的统一机制 摘要 黑洞奇点是广义相对论最著名的困境之一。奥本海默和斯奈德从爱因斯坦场方程出发&#xff0c;严格推导出大质量恒星引力塌缩会形成密度无穷大的奇点。然而&#xff0c;奇点的…...

2026毕业论文自救指南|3个工具搞定初稿+降重+答辩PPT [特殊字符]

根据你的需求&#xff0c;我对比了目前市场上主流的毕业之家和PaperRed两款AI论文写作软件。 简单来说&#xff1a;毕业之家更像一位“全流程管家”&#xff0c;擅长从开题到答辩材料的完整生成与排版&#xff0c;尤其贴合国内高校的格式要求&#xff1b;而PaperRed则更像一位…...

从ok-skills项目解析技能树:设计理念、技术实现与工程实践

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“ok-skills”。光看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但点进去一看&#xff0c;发现这是一个关于“技能树”或“知识图谱”的开源项目。简单来说&#xff0c;它试图用一种结构化的…...

杰理之把音量调到最高后暂停蓝牙音乐,再按播放后,音量会变小问题处理参考【篇】

由于苹果手机音量等级只有16级&#xff0c;当近端耳机音量调超过16级后&#xff08;比如20级&#xff09;...

原创丨全球主流开源模型及其衍生生态解析

作者&#xff1a;李媛媛 本文约4800字&#xff0c;建议阅读15分钟本文介绍了全球主流开源基座模型及衍生模型的特点、应用与趋势。在人工智能技术产业化落地加速的当下&#xff0c;开源模型已成为推动行业创新的核心力量&#xff0c;其开放、可定制的特性打破了技术壁垒&#x…...

开源阅读鸿蒙版技术架构解析:构建去中心化数字阅读生态的实践方案

开源阅读鸿蒙版技术架构解析&#xff1a;构建去中心化数字阅读生态的实践方案 【免费下载链接】legado-Harmony 开源阅读鸿蒙版仓库 项目地址: https://gitcode.com/gh_mirrors/le/legado-Harmony 开源阅读鸿蒙版&#xff08;Legado-Harmony&#xff09;是一款专为鸿蒙操…...

跨平台资源下载神器:3分钟掌握全网视频音频一键保存终极指南

跨平台资源下载神器&#xff1a;3分钟掌握全网视频音频一键保存终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 还在…...

如何解决Noah-MP陆面模型编译与配置中的三大技术挑战

如何解决Noah-MP陆面模型编译与配置中的三大技术挑战 【免费下载链接】NoahMP 项目地址: https://gitcode.com/gh_mirrors/no/NoahMP Noah-MP&#xff08;Noah with Multi-Parameterization options&#xff09;作为先进的陆面过程模型&#xff0c;在水文循环模拟、能量…...

别让电流倒灌毁了你的MCU!手把手教你用肖特基二极管和MOS管搞定电平转换电路

嵌入式系统电平转换电路设计实战&#xff1a;阻断电流倒灌的5种硬件方案 当3.3V单片机需要驱动5V传感器时&#xff0c;或者5V逻辑器件要与1.8V处理器通信时&#xff0c;电平转换电路就成了系统稳定的关键屏障。去年我在工业控制器项目中就曾遇到一个典型问题&#xff1a;当5V外…...

【YOLO目标检测全栈实战】39 多模型流水线:当YOLO遇上OCR和语音合成,如何让四个模型“共线生产”?

DIA DALI,我们把187ms的串行方案优化到15ms,性能提升12倍。但说实话,那只是两个模型之间的“小打小闹”。 今天我们要面对的,是一个真正的“四国联军”——YOLOv8检测、ResNet分类、OCR文字识别、语音合成,四个模型串联成一条生产线。 你可能会想:“不就是把四个模型串…...