XPATH XML
XML解析
软件测试李同学
物联网工程专业毕业,大数据平台高级测试工程师。曾负责智能相机软件系统、工业智能相机、银行基金系统、物联网终端、大数据统一开发平台等产品的测试。熟悉黑盒测试、白盒测试、接口测试、自动化测试、性能测试、测试平台开发。精通测试理论知识,熟练使用的测试工具,可满足多变的测试任务,提倡全栈测试保证质量。目前负责大数据实时计算、数据服务等平台测试,在测试工作中表现优异,荣获2020年年度优秀员工、2021年3月优秀员工、2021年6月优秀项目、2021年11月优秀导师、2022年3、6月入围奖、2022年10月优秀员工、2023年3月进步奖、2023年6月进步奖
展开
-
xpath 用相邻元素定位当前元素
思路分析:为什么不能直接定位当前元素呢?那是因为直接定位当前元素可能定位出很多个一样的标签,但是可以通过相邻元素/兄弟元素辅助定位。那为啥不通过父亲去定位呢?那是因为有可能父亲也是一样的相邻元素/兄弟元素:说白了就是同一个层级的先看看实际例子:现在需要点击数据库名然后出现下来框现在要定位数据库名:如果直接通过“请选择”这三个文字是不行的,无法定位出一个通过页面结构发现,兄弟节点的label标签的 for属性不一样,那就可以通过这个定位xpath://label[原创 2022-03-29 11:58:22 · 1362 阅读 · 0 评论 -
xpath 下拉框定位(文本定位标签值一样)
文本定位,需要点击对应的区域类型这样子写找到2个,还要加一点限制点击0和1的span标签跳转,看看页面结构01很明显,在我们要找的居住建筑在li标签里面,加一个限制即可。xpath//li//span[text()='居住建筑']看看效果成功...原创 2020-09-10 16:39:37 · 2709 阅读 · 0 评论 -
selenium 上传/选择图片
如下图需要上传图片的操作所以不要写点击通过那个class属性去点击div标签。正确做法 #上传区域图片 # browser.find_element_by_xpath('//div[@class="el-upload el-upload--picture-card"]').click() browser.find_element_by_css_selector("[type='file'").send_keys(RegionConfig.regionImagePath)原创 2020-09-10 12:08:14 · 1421 阅读 · 0 评论 -
selenium 定位列表的方法
现在要做系统设置区域管理员这一块的具体每一条列表信息查看,配置文件传入用户名即可上面那篇遇到的列表,如果列表是在第2页、第3页。。。第n页的话,就需要点击这个页面再重新点击查看规律就是当前默认的第一页是active的可以根据class属性=number去定位,然后用下标取。写个函数,自己调用自己然后页码自增1即可。下面是代码# -*- coding: utf-8 -*-# @Time : 2020/9/10 9:51# @Author : Liqiju# @File : .原创 2020-09-10 12:01:00 · 2254 阅读 · 0 评论 -
xpath动态属性的标签怎么定位(二)
承接上一篇博文,我们要对列表进行编辑操作,这时候就要定位具体要修改的一条列表的编辑。看看页面结构。其中,用户名是唯一键。一个页面20条记录。页面结构分析:class是动态变化的,不能用class定位。div,td,tr,这三个元素都是一样的,不能直接用class定位。方法就是通过这个用户名span标签,定位它的上一级div,再上一级在tbody里面的tr,在从这个tr去定位包含文本的button标签就很容易了。谷歌控制台调试记录,定位成功最终xpath.原创 2020-09-03 15:56:22 · 2185 阅读 · 0 评论 -
xpath相同标签怎么定位(一)
目录一、问题提出二、问题解决过程三、总结一、问题提出1、我们做web自动化一般就是增删改,验证基本功能流程。比如:添加一个用户,添加完了对比数据库字段,一致则案例通过。2、举例:我们系统后台是用vue.js框架做的,现在在添加区域管理员的时候遇到了一模一样的input标签。如下图所示。二、问题解决过程1、这几个input标签是一模一样的,1个 div里面有1个 div和1个 label,div里面又有2个div和input,其中的1个div才...原创 2020-09-01 11:58:35 · 6195 阅读 · 0 评论 -
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
如果你的xpath在谷歌控制台能够定位该标签,那么在pycharm里面报这个错误(元素不可交互)有可能是元素没找到。最直接的方法就是强制加等待几秒钟就OK了。一般来说,可以用等待元素出现再点击。比如我的...原创 2020-09-01 09:52:05 · 15888 阅读 · 2 评论 -
xpath通过文本内容定位span标签
本来很简单的一个问题。就是xpath在谷歌浏览器控制台编写调试的时候,用中文的话要用单引号,不然报错。比如:这样子写是错误的这样子写才是正确的我是咋发现的呢?是因为把路径写在pycharm里,用selenium库时报错了。比如:报错这样子写就对了语法:# 通过文本内容模糊定位元素browser.find_element_by_xpath('//span[contains(text(),"系统设置")]').click()点击系统设置。...原创 2020-08-28 12:03:24 · 14446 阅读 · 0 评论 -
vue.js框架table如何定位xpath
这两天在定位一个元素,我想定位第二个查看设备。这两个button标签的信息是一样的,所以通过这样子Console:($x("xpath语句")这个是谷歌浏览器Console调试语法)$x("//button[@class='el-button el-button--primary el-button--mini is-round']")查结果有2个后来问开发,开发说...原创 2020-01-14 19:47:37 · 1877 阅读 · 0 评论 -
谷歌xpath helper插件安装提示程序包无效
解决办法1、将crx结尾的文件的后缀名改为rar。2、解压,将路径下的_metadata改为metadata。3、进入Chrome浏览器的加载扩展程序界面,点击"开发者模式",再点击“加载已解压的扩展程序”,选择解压目录,OK。要启用,点击右上角图标即可。...原创 2020-01-14 10:15:53 · 1564 阅读 · 0 评论 -
谷歌浏览器xpath定位调试
我们一般都使用相对定位,而不是谷歌浏览器右键复制得到的绝对定位xpath。$x的用法是 :$x(xpath表达式) 下面的例子是获取百度一下的定位控制台输入:$x("//input[@type='submit']")(如果正确,会自动匹配结果),再按enter键。这是点Elements看到的这是运行xpath看到的匹配成功,说明写的xpath正确。可用在RF自动化框架的...原创 2019-09-28 14:55:18 · 4258 阅读 · 0 评论 -
XPath常用语法
最近在学习朴老师的课程,在这里把笔记记下来,方便往后查阅。你所应该知道的XPATH1.从根路径开始的绝对路径方式获取/AAA例子:获取所有AAA下的BBB下的所有CCC:/AAA/BBB/CCC2.所有指定名称的元素//AAA例子:获取所有名称为AAA的元素3.使用*号匹配福获得所有满足条件的元素例子:获取AAA下BBB下所有的元素:/AAA/BBB/*4.使用中括号,获取多个匹配元素中的某一个,可以使用last()函原创 2018-01-03 08:43:57 · 327 阅读 · 0 评论 -
Dom4J常用方法
最近在学习朴老师的课程,在这里把笔记记下来,方便往后查阅。你所应该知道的Dom4J创建解析器:SAXReader reader = new SAXReader();利用解析器读入xml文档:Document document = reader.read(new File("input.xml"));获取文档的根节点:Element root = document.getRootElement();接口继承结构:No原创 2018-01-03 16:59:00 · 6057 阅读 · 0 评论