Selenium-Webdriver 提供了强大的元素定位方法,支持以下三种方法。
 单个对象的定位方法
 多个对象的定位方法
 层级定位

定位单个元素
在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位。下面这些定位方式中,优先使用id、name、classname,对于网上的链接元素,推荐使用
linkText 定位方式,对于不好定位的元素,考虑使用火狐的插件去辅助定位(xpath)。

By.className(className)) //对于元素的属性包含class的情况适用
By.cssSelector(selector) //通用定位方式,对于不好定位的元素适用
By.id(id) //对于元素的属性包含id的情况适用,推荐使用
By.linkText(linkText) //适用于链接类的元素,即<a>标签,包含herf属性的元素
By.name(name) //对于元素的属性包含name的情况适用
By.partialLinkText(linkText) //适用于链接类的元素,模糊匹配,即包含herf属性的元素

By.tagName(name) //通用定位方式,适用于层级定位

By.xpath(xpathExpression) //通用定位方式,对于不好定位的元素适用,兼容性存在问题

注意:selenium-webdriver 通过findElement()、findElements()等find 方法调用"By"对象来定位和查询元素。By 类只是提供查询的方式进行分类。findElement 返回
一个元素对象否则抛出异常,findElements 返回符合条件的元素List,如果不存在符合条件的就返回一个空的list。

Selenium定位一 --单个元素定位方法的更多相关文章

  1. Selenium webdriver 学习总结-元素定位

    Selenium webdriver 学习总结-元素定位 webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要 ...

  2. 关于selenium的8种元素定位

    selenium中有八种元素定位,分别是:id,name,class_name,tag_name,link_text.partial_link_text.xpath.css 简单的定位可以用 id.n ...

  3. [小北De编程手记] : Lesson 03 - Selenium For C# 之 元素定位

    无论哪一种自动化测试的驱动框架(基于B/S,桌面应用,还是手机App).都应当具有一套优秀的元素定位技术.通常的自动化测试流程也可以简单的归结为是一个从被测试程序中识别或是定位元素以及执行操作和验证元 ...

  4. selenium(3):学习操作元素基本方法

    来源:<selenium webdriver基于Python源码案例> 一.打开网页①第一步:从selenium里面导入webdriver模块②打开浏览器(Ie和Chrome对应下面的)③ ...

  5. Selenium示例集锦--常见元素识别方法、下拉框、文本域及富文本框、鼠标操作、一组元素定位、弹窗、多窗口处理、JS、frame、文件上传和下载

    元素定位及其他操作 0.常见的识别元素的方法是什么? driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...

  6. Selenium:八种元素定位方法

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

  7. python + selenium相关事件和元素定位

    女友由于工作上的失误,将公司RDM中的某一字段的2000条数据给删除了.....就算是重新添加字段,但是与其他数据的关联性已经不在了.由于每天的数据修改量大,有关部门不愿意恢复数据库,因此只能一条条的 ...

  8. selenium+python自动化之元素定位

    自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...

  9. Selenium基本用法以及元素定位

    一.Selenium 简介 Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,提供一套测试函数,用于支持Web自动化测试.函数非常灵活,能够完成界面元素定位.窗口跳 ...

随机推荐

  1. PHP-----数组和常见排序算法

    数组的创建 <?php //php创建数组 //第一种方法 $arr[0]=1; $arr[1]=23; $arr[2]=20; $arr[3]=43; for($i=0;$i<count ...

  2. Navicat for mysql 破解

    想用navicat for mysql 连接mysql,发现只能试用30天,感觉挺不爽的,购买的话发现价格一千多,好贵的软件. 所以想要破解一下,网上试了一些方法不行,最后找到了一种方法可以的 破解工 ...

  3. composer安装fxp插件时候提示内存不足且没有交换空间的解决办法

    The following exception is caused by a lack of memory and not having swap Check https://getcomposer. ...

  4. python成长之路【第二篇】:列表和元组

    1.数据结构数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在Python中,最基本的数据结构是序列(sequence) ...

  5. zoj3430Detect the Virus(ac自动机)

    链接 解码之后是跟普通的自动机求解一下的,只不过解码比较恶心,512=>N>=0 ,所以不能用字符串来存,需要转换成整数来做. #include <iostream> #inc ...

  6. neon指令,注意事项

    1. vbic_s8 (int8x8_t a, int8x8_t b) 是  ~(ai & bi),一开始理解成  (~ai )& bi 导致出错 2.uint8x8_t vqshrn ...

  7. 运行js提示库没有注册错误8002801d的解决办法

    运行js提示库没有注册错误8002801d的解决办法这个错误主要是因为服务器上的windows scripts版本较低,请按下面的链接下载较高版本windows scripts 5.6并在服务器上进行 ...

  8. Grunt自动化构建工具(网址:http://www.gruntjs.net/getting-started或者http://gruntjs.cn/getting-started)

    简介:Grunt是基于Node.js的项目构建工具,对于需要重复执行的任务,例如压缩.编译.单元测试等,自动化工具可以减少你的工作量,使你的工作更轻松. 一:检测nodejs是否安装好,打开CMD控制 ...

  9. c#调用c++动态链接库的问题

    1. Server Error in '/' Application. Object reference not set to an instance of an object. 这个问题是接口中的方 ...

  10. 【C++】rand()函数,时间种子

    srand((unsigned)time(NULL)); //以时间为随机种子,写在循环前才有效(几个循环无所谓) ;i<=size;i++) { ;j<=size;j++) { ==ra ...