web自动化之元素定位

12 篇文章 1 订阅
订阅专栏

一、基础的元素定位

通过一个属性定位:
以百度浏览器为例:定位百度输入框
在浏览器上定位元素的操作方式:
按F12,点击左上角的箭头,呈绿色,再点击输入框,可看到 ,有一段代码input标签被高亮显示了,既定位到了。
可看到inpu标签,有id class name 属性,可利用这些元素进行元素定位。
在这里插入图片描述

1、通过id定位
2、通过name定位
3、通过class定位
4、通过xapth定位
5、通过css定位
代码实现:

from selenium import webdriver
import logging
import time
logging.basicConfig(level=logging.DEBUG)
# 启动浏览器驱动服务器
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
time.sleep(3)
# id定位百度输入框
# res = driver.find_element_by_id("kw")
# print(res)


# class 定位
# res = driver.find_element_by_class_name('s_ipt')
# print(res)


# name定位
# res = driver.find_element_by_name("wd")
# print(res)


# 通过css定位
res = driver.find_element_by_css_selector("#kw")
print(res)
res.send_keys("冬奥运动会")

# 点击百度
res2 = driver.find_element_by_id("su")
res2.click()

time.sleep(5)
# driver.close()
driver.quit()

补充:如何找到css 和 xPath相对路径和绝对路径
在定位到的元素标签上 右键->复制->
在这里插入图片描述
以上定位方式的区别:

共同点:只能通过一个属性定位
不同点:
1、find_element_by_id:通过id 定位元素
   (1)、id是唯一的,一般情况下id是给js用的
2、find_element_by_tag_name:通过标签名称定位元素
   (1)、标签名称不唯一
3、find_element_by_class_name:通过类名称定位元素(class')
   (1)、class 不唯一
   (2)、如果要通过class来定位,要确保你定位的这个元素class一定要唯一
4、find_element_by_name:通过元素name属性定位元素(需要元素有name属性)
   (1)、元素必须要有name属性
   (2)、name属性不一定唯一
5、find_element_by_link_text:a标签通过【精确匹配】超链接文本定位元素(超链接文本必须是唯一,不能有空格)
6、find_element_by_partial_link_text:a标签通过【模糊匹配】超链接文本定位元素(超链接文本必须是唯一)
可以通过多个属性组合定位
7、find_element_by_xpath:通过路径定位元素
   (1)、绝对路径定位【不用】
   (2)、相对路径定位【常用万能】

详解xpath定位

二、通过元素本身的属性来定位

1、标签名+属性名
一个条件://input[@class=“s_ipt”]
在这里插入图片描述

多个条件://input[@class=“s_ipt” and @id=“kw”]

定位到多个元素,通过索引取值,索引值从1开始://input[@type=“hidden”][2]
在这里插入图片描述

2、标签名+文本定位
//a[text()=“新闻”]
在这里插入图片描述

3、标签名+contains()函数匹配部分属性值或文本内容定位
//a[contains(text(),“新闻”)]
通过模糊匹配,就匹配到2个:
在这里插入图片描述
4、标签名+多个属性组合定位,各种组合都可以,使用逻辑运算符and or
//a[@name=“tj_briicon” or contains(text(),“更多”)] 定位到2个
在这里插入图片描述

//a[@name=“tj_briicon” and contains(text(),“更多”)] 定位到1个
在这里插入图片描述或者也可以这样写:
//a[@name=“tj_briicon” or text() = “更多”] 定位到2个
//a[@name=“tj_briicon” and text() = “更多”] 定位到1个

三、通过元素之间的关系来定位(轴定位)

1、层级定位
(1)只定位直接子节点 :用一个/
eg:
//span[@id=“s_kw_wrap”]/input
在这里插入图片描述
(2)定位所有的孙子节点:
eg:
//div[@id=“s_fm”]//a
在这里插入图片描述
这样写定位到该div下边有5个a标签,要想具体定位到某一个:可在加属性
//div[@id=“s_fm”]//a[text()=“手写”]
在这里插入图片描述
2、轴名称1:ancestor: 祖先节点,包括父节点
eg:
通过3 永远可以相信团结一心的中国队,找 1 冰雪为融 共赴冬奥之约

//span[text()="永远可以相信团结一心的中国队"]/ancestor::ul/li//span[text()="冰雪为媒 共赴冬奥之约"]

在这里插入图片描述
3、轴名称2:parent: 父节点
//span[text()=“永远可以相信团结一心的中国队”]/parent::a/span[text()=“热”]
在这里插入图片描述
4、轴名称3:following:当前节点【之后】的所有节点
//div[@id=“viewClassDetailRoot”]//following::div[@id=“tab-2,8”]
在这里插入图片描述

5、轴名称4:preceding:当前节点【之前】的所有节点
//div[text()=“互动课件”]//preceding::div[@class=“bar-item active”]
在这里插入图片描述
6、轴名称5:following-sibling: 当前节点【之后】的所有兄弟节点
eg:
//div[text()=“测试”]/following-sibling::div[@aria-controls=“pane-7”]
在这里插入图片描述

7、轴名称6:preceding-sibling: 当前节点【之前】的所有兄弟节点
eg:
//div[text()=“测试”]/preceding-sibling::div[@aria-controls=“pane-1”]
在这里插入图片描述

〖Python WEB 自动化测试实战篇⑥〗- selenium元素定位之find-elements
易编橙 · 终身成长社群,相遇已是上上签!
06-07 4万+
上一章节我们学习基本定位的方法,基本定位能够满足绝大部分的需求。但是仍然有一些特殊的需求我们满足不了,比如说有的场景需要需定位一组对象、或者操作页面上同类型的的元素,这个时候就需要使用到今天需要学习的知识点 [find-elements`]了。 ......
web自动化元素定位
abcd_efg1234567的博客
05-31 345
自动化测试:广义上讲一切使用代码或程序来辅助或代替人工测试的行为都认为是自动化测试。 自动化测试作用:提高工作效率,释放人力,可以把人从一些重复性的工作中解放出来。 应用环节:主要应用在回归测试和兼容性测试 适合自动化测试产品特点: 1、需求比较稳定 2、项目周期较长 3、开发的脚本要能重复使用 自动化测试类型: 1、基于UI的自动化测试 2、基于接口的自动化测试 3、基于函数的自动化测试 selenium(硒):是基于web自动化测试框架,提供了一整套的用于web自动化测试的函数。 该框架由thou
软件测试:web自动化测试之概念
zhoukeguai的博客
06-17 421
自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。 自动化测试的好处: 1)缩短测试周期 计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。 2)避免人为出错 测试人员不可能持续高度集中,并且人类易受外
python+selenium的web自动化测试之8种元素定位方式详解
MXB1220的博客
10-07 2244
!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。
Web自动化—8种元素定位方式(python+selenium)
最新发布
huace3740的博客
09-13 973
我们在做WEB自动化时,最根本的就是操作页面上的各种元素,而操作的基础便是元素定位,只有准确地定位到唯一元素才能进行后续的自动化控制,下面将对各种元素定位方式进行总结归纳。
Web自动化元素定位
qq_43111432的博客
02-22 2175
元素定位就是通过元素的信息或元素层级结构来定位元素。要使用Web自动化操作元素,必须首先找到此元素。 1 元素定位方式 1.1 基于元素属性特有的定位方式 (1)id: element = driver.find_element_by_id(id) id定位就是通过元素的id属性来定位元素,HTML规定id属性在整个HTML文档中必须是唯一的。 (2)name: element = driver.find_element_by_name(name) name定位就是根据元素name属性...
python+selenium(2)元素定位
weixin_42208018的博客
05-06 203
selenium定位方法 Selenium提供了8种定位方式。 id name class name tag name link text partial link text xpath css selector 这8种定位方式在Python selenium中所对应的方法为: find_element_by_id() find_element_by_name() find_element_by_...
web自动化笔记一:元素定位的八种方式
m0_65111097的博客
02-29 1760
优先使用id定位,超链接使用link和paryial_link1、自动化测试方案->2、自动化脚本编写(定位元素、操作元素、验证操作、记录测试结果)->3、执行测试用例->4、结果分析、报告find_element找的是单个元素,必须定位到,找不到元素会报错和find_elements的区别,是找到所有匹配的元素放到一个列表里,找不到会返回一个空列表:通过name定位搜索框,输入新冠肺炎后,加上\n直接回车(以百度为例)绝对路径:从跟目录寻找,可以先定位元素ctrl+f。
Web自动化元素定位
Ceres的博客
07-31 3155
慕课网学习笔记:web端功能自动化定位元素 用CSS选择器定位元素 基本语法: tag[attribute='value'] 同时使用两个属性定位元素: tag[attribute1='value1'][attribute2='value2'] 例:button[type='submit'][class='res-send'] ID选择器 ID选择器有三种常用表示方式,在这里引用某...
Python+selenium实现Web自动化测试的各种元素定位
12-21
本篇文章将详细介绍如何利用selenium进行Web自动化测试中的各种元素定位。 首先,要使用selenium,我们需要安装相应的浏览器驱动。在描述中提到的链接里,你可以找到关于如何为不同的浏览器(如Chrome、Firefox等)...
2022年全网最全的web自动化元素定位教程【持续更新】
06-01 533
01、为什么要学习定位元素? 1)计算机没有智能到人的程度。 2)计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入 3)计算机通过一系列计数手段找到元素(按钮、输入框、模拟键盘等) 02、元素定位的工具或手段有哪些? 1)css选择器 2)xpath
web自动化-2、元素定位的方法
TCPamber的博客
10-24 297
一、定位元素的方法 1、id:By.id("id的值")-->标识、唯一性(测试不规范,可能会有多个元素ID相同,这样会获取到第一个) 语法: 2、 name:By.name("名称")-->名称--》可能有多个名称相同的 语法: 3、tagName:By.tagName("标签名") 语法: 4、linkText:完整的超连接文本 语法: 5、partialLinkText:部分的超链接文本,模糊匹配, 超链接文本含有空格时,选择模糊匹配 语法
web自动化--元素定位
权威儿童的博客
08-03 194
定位元素的时候:根据自己的需求定位到唯一 的一个元素或者符合自己需要的一组元素。 绝对路径: /html开头表示,从html文档的根节点开始进行查找,直到找到想要的元素 相对路径: //开头,表示从html文档的任意位置进行查找,如果在表达式中间出现77表示从//之前的元素之中开始进行查找。 xpath表达式规范: //元素名[属性限制表达式] [序号] ①序号表示符合序号之前表达式的元素中的第几...
web自动化测试-八大定位元素方法
XGZ2IT的博客
09-18 1364
webdriver元素定位
web自动化-定位元素
qq_29723051的博客
08-12 1764
web自动化测试中,定位元素是非常关键的,本文会介绍一些常用的定位方法,帮助大家高效定位元素。 一、css选择器定位 (1)通过id定位 语法: #id 示例: <input id="password"> ,选择id="password"的元素 定位方式: #password (2)通过class定位 语法: .class 示例: <input class="num">...
web自动化测试元素定位
qq_64116254的博客
03-15 289
web自动化测试 的元素定位方法
Web自动化—8种元素定位方式详解(python+selenium)
huace3740的博客
02-02 1362
我们在做WEB自动化时,最根本的就是操作页面上的各种元素,而操作的基础便是元素定位,只有准确地定位到唯一元素才能进行后续的自动化控制,下面将对各种元素定位方式进行总结归纳。说明:以下操作统一使用百度首页进行示例,鼠标右键然后点击检查(或按f12)可以查看具体的前端代码。
Selenium之Web元素定位
u011212074的博客
07-29 1166
Web页面主要由HTML、CSS和JavaScript脚本构成,当前大部分页面都是动态页面。Web页面中的各类视觉元素,如文本框、按钮、复选框、图品、超链接和表等,在Selenium中都被称为页面元素web Elements)。Selenium提供了八种定位元素。注:通过ID、name、class属性是最常用来定位元素的方法。
Web自动化测试:元素定位技术与工具
Web自动化测试中,元素定位是关键步骤,它允许测试脚本准确找到并操作网页上的特定元素。文档中提到的元素定位方法主要涉及以下方面: 1. **浏览器驱动**:首先需要导入Selenium2Library库,并调用`OpenBrowser`...
写文章

热门文章

  • Android Fragment详解 54800
  • Android使用adb命令行卸载手机设备上的应用 30199
  • Git创建分支和查看分支命令 22080
  • kotlin数组和集合 20051
  • Android五大数据存储 20013

分类专栏

  • 接口自动化 16篇
  • python入门学习 29篇
  • web自动化 12篇
  • 测试 5篇
  • Jmeter 1篇
  • postman 2篇
  • pytest 3篇
  • mysql 24篇
  • Liunx 3篇
  • android与H5混合开发 2篇
  • android小问题总结 4篇
  • android UI 1篇
  • android网络 1篇
  • android数据库 1篇
  • android调试 2篇
  • android第三方框架 1篇
  • xamarin-ios 3篇
  • xamarin-android 1篇
  • Java多线程
  • Git的基本使用 6篇
  • android Kotlin 8篇
  • android基础 16篇
  • 开发小常识 2篇

最新评论

  • Mac系统下Jmeter的下载、安装、及环境变量配置

    一条小多鱼: 没看懂,那个图怎么打开的

  • Android Fragment详解

    Ian_Miller: csdn的清流

  • Mac系统下Jmeter的下载、安装、及环境变量配置

    D069121: 配置好之后直接jmeter启动不了。只能到bin下面去启动怎么办

  • Mac系统下Jmeter的下载、安装、及环境变量配置

    FamilyYan: echo $JAVA_HOME echo $JMETER_HOME 检验一下,环境变量配置生效了吗。 按理配置好了,可以直接在终端输入命令的,又或者你重启下电脑试试?

  • Mac系统下Jmeter的下载、安装、及环境变量配置

    sweet2632: 配置好了之后每次在终端直接输入jmeter不管用,还得每次打开.bash_profile文件并重新source ~/.bash_profile一下,再输入jmeter才能打开时为什么呢

最新文章

  • python动态设置类属性
  • unnitest结合ddt实现数据驱动
  • pytest结合pymysql实现数据库数据驱动
2022年30篇
2021年39篇
2020年26篇
2019年31篇
2018年18篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司福田好的网站优化服务如何搜狗 优化网站唐山网站改版优化成都网站优化公司网站产品优化立联火星赞模板网站怎么优化网站页面优化从哪些方面着手望谟网站优化公司网站上线前SEO优化如何做网站的seo优化网站 性能优化网站优化常用的工具网站移动端优化怎么样去优化一个网站网站优化那些事儿如何测试网站优化网站网站推广优化软件详情郑州网站关键词优化排名工具长安企业网站做优化公司鄂州外包网站优化多少钱唐山高新区网站优化网站产品优化就里云速捷信用大兴优化网站推广松岗企业网站优化邯郸哪里优化网站效果好学网站优化学校百度seo网站优化公司网站快速优化很好火26星至顺义网站优化建设价格网站排名优化外包香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化