​最近在用robot framework做UI自动化,常见的用的最多的是selenium,这里使用的是selenium2lilbrary,直接pip安装即可。

UI自动化最主要的就是元素定位,先进行定位,才能对元素进行操作,selenium2lilbrary提供了多种元素定位方式,如下图所示,常用的是id、name、xpath等方式。

​这里主要讲一下xpath定位。xpath是在xml文档中查找信息,使用路径表达式在xml文档中进行导航,包含一些标准函数库。

1.xpath的术语

例子:

<?xml version="1.0" encoding="UTF-8"?>

<company>

<shop>

<item>T-shirt</item>

<price>100</price>

</shop>

</company>

1)节点:xpath中,有7种不同节点(元素、属性、文本、处理指令、命名空间、注释和根)

如上面例子中company就是根节点,里面的title等是元素节点

2)基本值:无父或无子的节点,如元素节点里面的值

3)节点关系

父:每个元素或属性都有父,如例子中,shop是item和price的父,company是shop的父

子:与父对应,即shop是campany的子,item和price是shop的子

同胞:拥有相同父的节点,如item和price

先辈:节点的父/父的父,item的先辈是shop和company

后代:节点的子/子的子,company的后代是shop/item/price

2. xpath的语法

xpath的路径表达式使用xml的节点或节点集,通过路径来选取

选取节点如下

3. xpath定位

使用xpath定位可以选择绝对路径或相对路径。

1)绝对路径:即从网页的根节点开始,一层一层向下寻找,如/html/body/div[2]/div/div[2]/div[3]/div[1]/div[4],这种方式下,一旦有一个路径错误,就会错,这种情况用的较少

2)相对路径:只考虑节点不去管路径,如//input[@placeholder=’请输入密码’],这种情况下会定位到input内的信息的元素

rf中使用起来也很方便,只要直接使用input text关键字,填写xpath和内容,即可模拟,如下图就是个最简单的模拟登陆操作。

4. 工具获取

火狐浏览器有挺多插件支持的,可以直接在扩展总搜索xpath相关的插件,使用插件定位就可以返回结果,如下图。

RobotFramework笔记一:元素定位相关推荐

  1. selenium学习笔记之元素定位

    selenium学习笔记之元素定位 Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样. 首先需要创建浏览器驱动: from sele ...

  2. 如何获取某个标签下所有的元素id_D3库实践笔记之元素定位与数据绑定 |可视化系列33...

    D3根据数据的内容操纵HTML文档对象,实现把数据变成可视图.要操纵文档对象,例如在里添加一个.编辑标签里的一个矩形,要完成这些首先需要能定位到我们需要操作的元素.再结合数据操作这些元素. 本篇具体展 ...

  3. selenium+java初级学习笔记之单个元素定位

    元素定位可以大概分为八重一般情况下常用的就是by.id.by.name.by.classname,如果需要定位的元素中没有这几个可以选择其他方式的定位: By.id(id) //(有时元素中id是会变 ...

  4. python+selenium笔记(一):元素定位方法

    一.环境准备: 1.浏览器选择:Firefox 2.安装插件:Firebug和FirePath(设置>附加组件>搜索:输入插件名称>下载安装后重启浏览器) 3.安装完成后,页面右上角 ...

  5. selenium课程笔记3-使用selenium中的webdriver对浏览器操作-页面元素定位及操作

    1.打开浏览器,打开网页 1 from selenium import webdriver 2 dr=webdriver.Chrome() 3 dr.get('http://www.baidu.com ...

  6. 【PC桌面自动化测试工具开发笔记】(一)基于pywinauto的元素定位工具

    (一)基于pywinauto的元素定位工具 前言 后台截图的实现 win32桌面绘图 源码 结果展示 前言 使用pywinauto库实现PC桌面应用程序自动化查找元素时遇到以下问题: 使用pywina ...

  7. web自动化笔记一:元素定位的八种方式

    一.元素定位 优先使用id定位,超链接使用link和paryial_link 二.自动化测试流程(先定位后操作) 1.自动化测试方案->2.自动化脚本编写(定位元素.操作元素.验证操作.记录测试 ...

  8. 自动化(二)——八种元素定位方法

    自动化(二) 一.元素定位 1)如何元素定位 二.元素定位方式 1)id定位 2)name定位 3) class_name定位 4) tag_name定位 5) link_text以及partial_ ...

  9. python怎么通过手机号定位_6.1 python+appium元素定位方式(登录app)

    1.0.0 :常见的十种元素定位方式 1.driver.find_element_by_id() #id定位2.driver.find_element_by_name() #name定位(已经凉了,不 ...

最新文章

  1. SpringMVC访问静态资源
  2. Fiddler 自定义规则编写
  3. DNS扫盲系列之五:域名配置ZONE文件
  4. 独辟蹊径,Python打造新型基于图像隐写术的C2通道
  5. 【MySQL】MySQL 查询优化器的提示(hint)
  6. BUUCTF Web [ACTF2020 新生赛]Exec
  7. sql 逻辑运算符_SQL Like逻辑运算符介绍和概述
  8. Syncfusion的社区许可及免费电子书和白皮书
  9. vscode快速打开html页面_VSCode安装和测试
  10. 【POJ 2456】【二分答案】Aggressive cows(暑假 No.1)
  11. openmeetings(开源视频会议系统)的详细安装步骤 (windows版)
  12. tensorboard的安装与使用
  13. VScode 配置 Java 环境
  14. 模板引擎 Velocity语法
  15. scikit-learn安装步骤
  16. linux蓝牙适配器驱动安装失败,deepin官方论坛-深度科技官网旗下网站
  17. matlab中线形_MATLAB在绘图时的用法——线形图
  18. 习题 8-28 打结(Knots, ACM/ICPC ACM/ICPC Jakarta 2012, UVa1624)
  19. getMonth()函数的问题
  20. 唐伯虎点秋香中的一段对白!

热门文章

  1. 一个简单的SpringBoot项目 demo
  2. Java多线程入门(狂神说)
  3. 如何查询电商平台真实销售数据?(京东怎么看销量)
  4. 米斯特web安全培训第一期课程目录
  5. [分享]敏感内容自动评审类库及辅助工具
  6. Adobe Dreamweaver CS5下载安装
  7. 试玩系列 | 真香!大疆TT无人机编程初体验,教你对它为所欲为!
  8. php域名免备案转发,免备案高防CDN支持过墙域名跳转解决域名DNS污染
  9. 这所北京计算机类大学,改考408了!北京信息科技大学
  10. python 3.7安装festtext、提示要更新_现代开发者必备:5个更流畅、更受欢迎的Python web框架...