一、概念

  做UI自动化的重点就是定位元素以及操作元素,关于定位selenium提供了两类十六种方式,即element、elements。

  这两类方式的区别是对于元素的定位概念不同,定位方式是相同的。

    element返回的是一个元素对象可以直接进行元素操作,前提是对应元素存在可操作的预置条件;

    elements返回的是一组对象,在python中对应的数据类型即是列表,必须单独拿到目标对象才可以进行操作。

二、定位方式

  selenium框架为我们提供了八类方式,

  

  1、class_name,id,name

    三者定位的思路是一样的,参照下面。

    根据页面标签对应的class进行定位,建议标签的class唯一时使用。例:查看的是“百度一下”的按钮

    

    可见百度页面中的class是存在两个,我们可以选择其中的一个进行定位,注:使用bg时,发现页面定位不正确,这是由于在输入框的class中也存在bg,且class_name默认  智取第一个元素,对于这种情况可以使用elements的列表方式进行循环遍历筛选出目标对象。

  2、css_selector和xpath

    根据页面的标签结构进行定位,css相较于xpath比较快速,适用范围较广。注:有时候前端偷懒,会用循环生成页面,这是css和xpath定位方式就可靠多了。

    

  3、link_text,partial_link_text

      前者要求完整的标签文本,后者只要求部分文本。

    

  4、tag_name

    根据页面tag进行定位,用途极其有限,暂不介绍

三、统一方法

  find_element(By.xxx,"元素属性"),默认是id查询。

  

  定位方式:

  

    

转载于:https://www.cnblogs.com/zouzy/p/10180187.html

selenium定位方式相关推荐

  1. selenium 定位方式5

    Selenium 8大定位方法中的最后一个 find_element_by_tag_name,这是所有定位方式中最不理想的定位方式,主要是因为一个页面中,存在相当多的相同的标签,基本做不到唯一定位,通 ...

  2. selenium 定位方式4-xpath

    Selenium 提供的另一种,能够唯一定位的方式: find_element_by_xpath XPath 基础知识 XPath (XML Path Language) 是由国际标准化组织 W3C ...

  3. selenium 定位方式3-css_selector

    关于页面元素定位,可以根据 id.class.name 属性以及 link_text. 其中 id 属性是最理想的定位方式,class 与 name 属性,有时候也还行. 但是,如果要定位的元素,没有 ...

  4. selenium 定位方式1

    Selenium 常用的定位方式8种. 1. find_element_by_id 对于 Web 页面,id 是最理想的定位方式,一般前端 HTML 代码都会尽量保证 id 的唯一性. 1.1 fin ...

  5. selenium 表单提交结果_了解 Selenium 定位方式

    ※元素定位的重要性:在于查找元素 And 执行元素 定位元素的三种方法 1.定位单个元素:在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位.在这些定位方式中,优 ...

  6. selenium 定位方式2

    1. find_element_by_link_text 此定位方法只针对 HTML 中的 <a>内容</a> 标签使用,一般会对应一个可跳转的链接,通过 a 标签中的内容定位 ...

  7. selenium简介,原理,优点,工作过程,定位方式

    1.selenium简介 selenium是一个用于web应用程序自动化测试工具,可以直接运行在浏览器,就行用户真正的在浏览器操作一样,支持的浏览器包括:IE,Firefox,Chrome,Safar ...

  8. selenium的定位方式

    第1种方法:通过绝对路径做定位(相信大家不会使用这种方式) By.xpath("html/body/div/form/input") By.xpath("//input& ...

  9. 超全面整理,Selenium 八大元素定位方式,(建议收藏反复使用)

    UI自动化测本质无非就是: 定位元素 -> 操作元素 -> 模拟页面动作 -> 断言结果 -> 生成测试报告. 所以我们做UI自动化的第一步就是定位元素,如果连元素都定位不到就 ...

最新文章

  1. yolov5剪枝开源分享
  2. VTK:图片之CombiningRGBChannels
  3. PKG_CONFIG_PATH错误提示解决办法
  4. Endless Spin
  5. 大数据预测分析是否对企业有影响
  6. SPSS 相关分析(图文+数据集)【SPSS 023期】
  7. matlab图像频谱分析代码_信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)...
  8. wow工程修理机器人图纸_魔兽世界修理机器人-魔兽世界工程修理机器人图纸哪有啊?魔兽世界 – 手机爱问...
  9. 无法运行regedit.exe的简单解决方法
  10. python 发送短信验证码
  11. 音乐APP首页框架搭建
  12. 免费天气API,天气JSON API,天气插件
  13. 图像编辑系列之(2)基于StyleGAN(3)GAN逆映射(4)人脸 (5)语义生成 | ICCV2021生成对抗GAN梳理汇总...
  14. H5+CSS+JS Tab导航栏自动切换
  15. 使用绝热演化/量子退火算法求解矩阵本征态
  16. php 高德地图创建标注,自定义图标-点标记-示例中心-JS API 示例 | 高德地图API
  17. 计算机网络及因特网的基本知识,计算机网络基本知识
  18. 谷歌 I/O 2017 开发者大会现已开放注册;英特尔公布LTE通讯模组XMM 7560│IoT黑板报...
  19. foc学习笔记3——电流环
  20. 怎样获取上传至腾讯开放平台app的下载链接

热门文章

  1. JavaScript学习(十四)—元素节点关系和特殊节点
  2. HTML的基本知识(七)——表单的基本知识及案例
  3. 为什么老海员都不舍得下船?
  4. 现在开始全职跑滴滴,你怎么看?
  5. 在抖音上,你只要会装穷,会装富,会吹牛逼,会包装自己,会扯淡,那翻身就指日可待了
  6. 互联网,就像一条条丝线一样,将每个个体、每个组织串联在一起
  7. 如何实现公平的效绩考核?
  8. 寻找点赞所需的URL
  9. dbcc_DBCC FREEPROCCACHE命令介绍和概述
  10. mercurial使用_使用Mercurial在SQL数据库中对象更改的修订历史记录