selenium中有八种元素定位,分别是:id,name,class_name,tag_name,link_text、partial_link_text、xpath、css

简单的定位可以用id、name、class_name、tag_name等,如果遇到复杂的元素需要定位则要使用xpath、或者css定位

下面是每种定位的用法——拿百度来说

1、id——定位到百度的输入框,可以看到百度的输入框id是唯一的,具体可以看下图

在pycharm中,语句是:driver.find_element_by_id("kw").send_keys("selenium")

send_keys表示在输入框中输入文本

2、name——还是以百度输入框为例,可以看出百度输入框的name属性也是唯一的

在pycharm 中语句是:

#Python学习交流QQ群:778463939
driver.find_element_by_name("wd").send_keys("selenium")

3、class_name——“百度一下”按钮,可以看出这个的class_name 是唯一的

在pycharm中的语句是:driver.find_element_by_class_name("bg s_btn").click()

4、tag_name——标签名称

这个方法很少用到,一般用xpath/css比较多

5、link_text——用来定位文本链接的
比如定位百度中的新闻:driver.find_element_by_link_text("新闻").click()

6、partial_link_text:和link_text 相似,唯一不同的是定位部分文本
如:点击hao123——driver.find_element_by_partial_link_text("hao").click()

7、xpath
(1)用xpath对标签内的属性进行定位(id、name、class)
方法://标签名[@属性=“属性名”] 双引号也可以用单引号表示
当某个元素的属性不是唯一的时候,需要采用组合的方式定位:"//标签名[@属性=‘属性名’ and @属性=‘属性名’]"

(2)用text()方法定位
//标签名[text()=“XXXX”]

(3)模糊定位——contains()方法定位
//标签名[contains(@属性,“属性值”)]

(4)轴定位

通过轴定位定位“百度一下”按钮 首先定位到这个按钮,可以看到这是个input标签,input标签的父元素是span标签,span标签的父元素是form标签,那么我们可以从form标签开始定位然后通过descendant来找到它的后代input

//form[@id='form']/descendant::input[@id='su']

通过following 来定位——following 表示标签节点之后

//span[@id='s_kw_wrap']/following::input[@id='su']

//span[@id='s_kw_wrap']表示定位到id属性为s_kw_wrap<span>标签,/following::input[@id='su']表示找到<span>结束标签(即</span>)后的所有input标签,然后通过[@id='su']精准定位到id属性为’su’的<input>标签

  • parent::可指定要查找的当前节点的直接父节点,例如,父节点是个div,即可写成parent::div,如果要找的元素不是直接父元素,则不可使用parent,可使用ancestor,代表父辈、祖父辈等节点;

  • child::表示直接子节点元素

  • following-sibling只会标识出当前节点结束标签之后的兄弟节点,而不包含其他子节点

关于selenium的8种元素定位相关推荐

  1. selenium基础八种元素定位

    # coding:utf-8 from selenium import webdriver # 导入webdriver框架 import time # 导入time 功能driver = webdri ...

  2. selenium自动化测试——常见的八种元素定位方法

    selenium常用的八种元素定位方法 1.通过 id 定位:find_element_by_id() 2.通过 name 定位:find_element_by_name() 3.通过 tag 定位: ...

  3. 整理的selenium WebDriver提供的8种元素定位方法

    selenium WebDriver提供的8种元素定位方法: (1)find_element_by_id() :id 定位 ,顾名思义,就是通过标签的id属性值来定位元素 (2) find_eleme ...

  4. Selenium自动化测试:8种元素定位+unittest框架设计

    作者简介: 笔名,唐米.参与过汇丰银行,国家电网,中国电信等多个大型项目的研发和管理,擅长的技术领域为安全测试,性能测试,自动化框架搭建与维护,曾受南京航空航天大学邀请分享Linux.oracle等测 ...

  5. 自动化测试:Selenium8种元素定位+unittest框架设计

    作者简介: 笔名,软件测试君.参与过汇丰银行,国家电网,中国电信等多个大型项目的研发和管理,擅长的技术领域为安全测试,性能测试,自动化框架搭建与维护,曾受南京航空航天大学邀请分享Linux.oracl ...

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

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

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

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

  8. selenium点击元素位置_Selenium 八种元素定位方法

    前言: 我们在做WEB自动化时,最根本的就是操作页面上的元素,首先我们要能找到这些元素,然后才能操作这些元素.工具或代码无法像我们测试人员一样用肉眼来分辨页面上的元素.那么我们怎么来定位他们呢? 在学 ...

  9. Selenium—八种元素定位方法

    前言: 在学习元素定位之前,我们最好能懂一点html的知识.我们要能找到这些元素,然后才能操作这些元素.工具或代码无法像我们测试人员一样用肉眼来分辨页面上的元素. 一.查看页面元素 用谷歌浏览器打开百 ...

最新文章

  1. __slots__(面向对象进阶)
  2. 在Android Studio中有六种依赖
  3. 【干货】2015,后微信时代的社交产品市场展望
  4. .NET实现SOA(1)
  5. bbs php redis,LAMP+redis搭建discuz论坛
  6. Linux 死机了怎么办
  7. 第一批“绿牌”汽车终于要换电池了,看到价格后,你还要买吗?
  8. 分布式微服务开发_想要精通分布式微服务架构?你得先学会设计、原理与实战...
  9. 自动跳动滑动门html,jQuery 滑动门自动滑动实现代码
  10. 一路走来之“华为网络技术大赛”(新含2018年资料)
  11. linux使用du命令查看文件夹大小(磁盘使用情况)
  12. ZigBee空气质量监测系统设计
  13. 关于阿里直播 安卓手机支付宝不支持的处理
  14. [爱分享]jeecms基础+导航条+例子分析
  15. Java工具类之String类
  16. 计算机五大核心部分详解、计算机三大核心硬件、操作系统简介、编程与编程语言、python解释器简介
  17. 计算机工程学院迎新生,计算机工程学院举办“青春相约,梦想同行”迎新晚会...
  18. js计算金额精度问题--currency.js(2022.11.10 阴)
  19. 欧拉(Euler)定理
  20. 华为od统一考试B卷【5键键盘】Java 实现

热门文章

  1. 终身学习这件事,比你想的还要重要
  2. fio 是测试磁盘性能的最佳工具
  3. 2011年最新使用CSS3实现各种独特悬浮效果的教程
  4. Type对象获得泛型类型的两个扩展方法
  5. [转]默认构造函数的作用
  6. python查询结果写入excel_python实现查询的数据写入到excel
  7. ip pim spare 源树 和 共享树_iPhone通过内置应用与电脑传输共享文件指南
  8. LOAD_TYPE_VERSION_MISMATCH与TYPELOAD_NEW_VERSION错误分析
  9. 4、Power Map—实例:演示报告封面
  10. 33、Power Query-统计员工完成业绩的记录