web自动化的元素定位
一.基础元素定位
1.id定位:根据元素的id定位
By.id("id")
webDriver.findElement(By.id("tab-account")).click();
2.Classname定位:根据classname定位
By.className("classname")
webDriver.findElement(By.className("elinput__inner")).sendKeys("13851998024");
3.Linktext定位:根据linktext定位
By.partialLinkText("超链接文本值")
webDriver.findElement(By.partialLinkText("地图")).click();
4.Partiallinktext定位
By.partialLinkText("超链接部分文本值")
webDriver.findElement(By.partialLinkText("图")).click();
5.name定位:不常用
6.Tagname定位:一般不唯一,几乎不用
二.css定位
1.根据Id
By.cssSelector("#id")
By.cssSelector("标签名#id")
webDriver.findElement(By.cssSelector("#tab-account")).click();
2.根据Classname
By.cssSelector(".classname")
By.cssSelector("标签名.classname")
webDriver.findElement(By.cssSelector(".comp-smscode_sendbtn")).click();
3.根据tagname
4.根据元素属性
By.cssSelector("标签名[属性名='属性值']")
(1)单属性
webDriver.findElement(By.cssSelector("input[placeholder='输入验证码']")).sendKeys("pwd");
(2)多属性
webDriver.findElement(By.cssSelector("input[type='text'][placeholder='输入验证码']")).sendKeys("pwd");
三.xpath定位
1. xpath绝对路径
从根目录开始找:html/body...
2. Xpath相对路径
//标签名[@属性名=”属性值”]
//匹配指定节点,不考虑他们的位置;
标签名:可以是具体的标签名,也可以是*通配符,表示任意标签名;
@选取属性
(1)元素标签名定位
By.xpath("//iframe")
(2)元素名+索引定位
By.xpath("//div[4]//input")
(3)属性
By.xpath("//*[@class='gloable-upload']/i")
(4)元素标签+属性
By.xpath("//input[@placeholder='请输入标题']")
(5)包含属性部分值
By.xpath("//div[contains(@class,'btn-submit')]")
(6)元素文本内容
By.xpath("//span[text()='新建']")
(7)包含元素文本部分值
By.xpath("//div[contains(text(),'登 录')]")
3.Xpath轴定位
轴名称 |
释义 |
ancestor |
选取当前节点的所有祖先节点(包括父节点) --找所有的祖先 |
parent |
选取当前节点的父节点 -- 找爸爸 |
preceding |
选取当前节点之前的所有节点 |
preceding-sibling |
选取当前节点之前的所有兄弟节点 --找哥哥 |
following |
选取当前节点之后的所有节点 |
following-sibling |
选取当前节点之后的所有兄弟节点 --找弟弟 |
/轴名称::节点名称[@属性=值]
By.xpath("//*[text()='资讯平台']//preceding-sibling::div/img")
web自动化的元素定位的更多相关文章
- web自动化之元素定位篇
一.web自动化元素定位的方式有8种.------腾讯课堂 1.1 id定位: 1.2 class定位: 1.3 classname定位 1.4 tag_name 1.5
- web自动化:元素定位(二)
一. 实例 如何定位到下图第二个"抢投标",有一种方法是利用xpath定位 //a[@href="/loan/loan_detail/Id/7190.html" ...
- Web自动化必会知识:「Web基础、元素定位、元素操作、Selenium运行原理、项目实战+框架」
1.web 基础-html.dom 对象.js 基本语法 Dom 对象里面涉及元素定位以及对元素的修改.因为对元素操作当中涉及的一些 js 操作,js 基本语法要会用.得要掌握前端的基本用法.为什么要 ...
- python3+Appium自动化12-H5元素定位环境搭建
前言 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素 ...
- 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...
- App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.App 元素定位方式 二.元素操作 三.测试混合应用 四.以代码的方式执行 Pytest 命 ...
- 【python+selenium的web自动化】- 元素的常用操作详解(一)
如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html 本篇主要内容:1.元素 ...
- selenium+python自动化之元素定位
自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...
- UI自动化之元素定位(xpath、css)
很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...
- web自动化测试(java)---元素定位
和python类似,java-selenium也提供了很多种元素定位的方法,具体如下: findElement(By.id()) findElement(By.name()) findElement( ...
随机推荐
- 从0到1构建开源 vue-uniapp-template:使用 UniApp + Vue3 + TypeScript 和 VSCoe、CLI 开发跨平台移动端脚手架
作者主页: 有来技术 开源项目: youlai-mall︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 仓库主页: GitCode︱ Gitee ...
- 浅析IPV6单栈的优缺点
本文分享自天翼云开发者社区<浅析IPV6单栈的优缺点>,作者:赵****越 IPv6单栈是一种仅使用IPv6协议栈的方案,与IPv4单栈相比,它具有更大的地址空间.更高的安全性和更好的隐私 ...
- NSSM:简化Windows服务配置,提升系统维护效率
NSSM:简化Windows服务配置,提升系统维护效率 在Windows系统环境中,服务的配置与管理是一项复杂而重要的任务.传统的服务管理方式往往涉及繁琐的步骤,不仅效率低下,还容易出错.然而,随着N ...
- 如何配置 maven 编译插件的 JDK 版本
普通maven项目配置编译器版本 参考maven官方文档 Setting the -source and -target of the Java Compiler maven有2种方法设置编译JDK版 ...
- Deepseek学习随笔(11)--- 普通人如何抓住DeepSeek红利(附网盘链接)
一.文档简介 这个文档是清华大学新闻与传播学院新媒体研究中心发布的<普通人如何抓住DeepSeek红利>,该文件详细介绍了DeepSeek的功能.应用场景.使用技巧以及如何通过提示词驱动提 ...
- 解密ZAB协议:Zookeeper一致性的核心实现
一致性问题 设计一个分布式系统必定会遇到一个问题-- 因为分区容忍性(partition tolerance)的存在,就必定要求我们需要在系统可用性(availability)和数据一致性(consi ...
- 基于 Trae Claude-3.7 从0到1 打造加密货币钱包Dompet-App
从0到1:用Trae Claude-3.7打造加密货币钱包Dompet-App 项目介绍 大家好!今天我要分享如何使用强大的AI助手Trae Claude-3.7,从零开始构建一款功能丰富的加密货币钱 ...
- 关于vue,npm,webpack,nod的一点心得
玩前端,换不到一颗米,纯粹是基于兴趣(我也希望能换到米,但真到那一天,说不定兴趣就没了,^_^),感觉玩这个能带来快乐,仅此而已. 最近,又来了点兴趣,读了读<vue实战>,自然免不了再次 ...
- helm部署redis集群
Redis 集群部署流程 前提:K8s+helm安装完成 1. 安装 NFS 服务器 1.1 安装 NFS 工具包 在 NFS 服务器上安装 nfs-utils 包: sudo yum install ...
- try except 案例
def to_split(df): # 删除不符合加班统计的记录 try: df.dropna(subset=['姓名'], inplace=True) hang_index = df[df['加班信 ...