1、熟悉前端基础
 
  • 代码和元素是一一对应关系,程序需要通过代码中的某些特征,获取目标元素并进行操作
  • 标签名     key = value      元素的属性和属性值
 
2、浏览器开发者工具
 
  • 目的:获取目标元素在页面内代码的相关信息的时候使用

    ①点击鼠标右键 —— 检查

    ②按F12

 
3、八大元素定位方法:
  1. id(唯一的)
  2. name
  3. class_name
  4. tag_name
  5. link_text
  6. partial_link_text
  7. XPath(通用)
  8. CSS(通用)
 
① 元素定位方法—id方法
 
  id定位就是通过元素的id属性来定位元素,id必须是唯一的,前提:元素有id属性
  当元素存在id属性时,优先使用id方法定位元素
 
  id定位方法:
 
    element = driver.find_element_by_id(id)
 
需求:打开注册页面,完成以下操作
1、使用id定位,输入用户名:admin
2、使用id定位,输入密码:123456
3、3秒后关闭浏览器窗口
 
补充:输入内容方法:元素对象.send_keys("内容")
 
 
②元素定位方法—name方法
 
  name定位就是根据元素name属性来定位,name的属性值是可以重复的,前提:元素有name属性
 
  由于元素的name属性值可能存在重复,必须确定其能够代表目标元素唯一性之后,方可使用
 
  name定位方法:

      element = driver.find_element_by_name(name)
 
需求:打开注册页面,完成以下操作
1、使用name定位,输入用户名:admin
2、使用name定位,输入密码:123456
3、3秒后关闭浏览器窗口
 
注意:当页面内有多个元素的特征值是相同的时候,定位元素的方法执行时,默认只会获取第一个符合要求的特征对应的元素
因此,定位元素时需要尽量保证使用的特征值能够代表目标元素在当前页面的唯一性
 
查看元素属性数量:
  • 1、在代码区域使用快捷键 Ctrl + F
  • 2、输入目标元素属性值           回车查看数量
 
③元素定位方法—class_name方法
 
  class_name定位是根据元素class属性值来定位元素,class定义元素的样式
  前提:元素有class属性
  注意:如果class有多个属性值,只能使用其中的一个
 
  class_name定位方法
    
          element = driver.find_element_by_class_name(class_name)
 
需求:打开注册页面,完成以下操作
1、使用class_name定位,输入邮箱:34234234@qq.com
2、使用class_name定位,输入密码:2343243
3、3秒后关闭浏览器窗口
 
注意事项:
    1、方法名是class_name, 但要找的是元素的class属性值
    2、如果元素的class属性值存在多个值,只能使用其中的任意一个
 
 
④元素定位方法—tag_name方法
 
  tag_name就是通过标签名来定位
  每一种标签一般在页面中会存在多个,所以不方便进行精确定位,一般很少使用
 
  tag_name定位方法:
 
      element = driver.find_element_by_tag_name(tag_name)
 
需求:打开注册页面,完成以下操作
1、使用tag_name定位,输入用户名:admin
2、使用tag_name定位,输入密码:123456
3、3秒后关闭浏览器窗口
 
注意:由于标签名的重复性过高,一般做精确定位时,都不会选择tag_name
 
⑤元素定位方法—
1、link_text定位
2、link_partial_link_text定位
 
1、link_text定位:只针对超链接元素,并且需要出入超链接的全部文本信息
   方法:
 
      element = driver.find_element_by_link_text(link_text)
      link_text: 为超链接的全部文本内容


2、link_partial_link_text定位:只针对超链接元素,并且需要出入超链接的部分文本信息
  方法  :
 
     element = driver.find_element_by_partial_link_text(partial_link_text)
       link_text: 为超链接的部分文本内容
       虽然是只传入部分文本信息,但是需要确定其唯一性,方可以使用    
 
需求:打开注册页面,完成以下操作
1、使用link_text定位(访问 新浪、网站)超链接,并点击
2、3秒后关闭浏览器窗口
 
补充:点击方法:元素对象.clink()
 
 
 
 

web自动化02-常见元素定位(不含xpath和css)的更多相关文章

  1. 【WEB自动化】【第一节】【Xpath和CSS元素定位】

    目前自动化测试开始投入WEB测试,使用RF及其selenium库,模拟对WEB页面进行操作,此过程中首先面对的问题就是对WEB页面元素的定位,几乎所有的关键字都需要传入特定的WEB页面元素,因此掌握常 ...

  2. Selenium的WebDriver API元素定位中的XPath和CSS

    元素的定位和操作是自动化测试的核心部分,其中操作又是建立在定位的基础上的. 浏览器的常规操作 import time from selenium import webdriver # 打开浏览器 dr ...

  3. Selenium Web 自动化 - 如何找到元素

    Selenium Web 自动化 - 如何找到元素 2016-07-29 1. 什么是元素? 元素:http://www.w3school.com.cn/html/html_elements.asp ...

  4. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

    转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

  5. appium自动化测试之UIautomatorviewer元素定位

    appium自动化测试之UIautomatorviewer元素定位 标签(空格分隔): uiautomatorviewer元素定位 前面的章节,已经总结了怎么搭建环境,怎样成功启动一个APP了,这里具 ...

  6. Web自动化 - 选择操作元素 2

    文章转自 白月黑羽教Python 前面我们看到了根据 id.class属性.tag名 选择元素. 如果我们要选择的 元素 没有id.class 属性, 这时候我们通常可以通过 CSS selector ...

  7. 【WEB自动化测试之控件定位】基于HTML5控件的唯一控件属性定位

      一.WEB控件定位是什么 要想弄懂这个问题,我们还是基于实践来学习.我们先来看一条入门级别自动化测试用例的构成. DemoCase:正确用户名和密码登录博客园,登录成功 URL: https:// ...

  8. python+Appium自动化:H5元素定位

    问题思考 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 解决思路 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原 ...

  9. python+Appium自动化:id元素定位

    元素定位 与web自动化一样,app自动化元素定位也是非常重要的一环,,appium也是提供了很多元素定位的方法,比如:id.name.class.层级定位等等. 元素定位方式 id name cla ...

  10. 基于Selenium2+Java的UI自动化(3) - 页面元素定位

    一.几种网页定位方式 webdriver的页面定位很灵活,提供了8种定位方式: 其中,常见的有三种:id .cssSelector .xpath: 一个元素如果存在 id 属性,则这个 id 的值,在 ...

随机推荐

  1. Java8 获取当天日期的前一天

    LocalDateTime.now().plusDays(-1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))

  2. 数据库中1NF,2NF,3NF的判别

    参照:https://blog.csdn.net/qq_28888837/article/details/98733448 1NF:每一个都是最原子化.  2NF:找到主键后,每一个非主键对主键都是完 ...

  3. BGF bivariate generating function 双变量生成函数

    目录 定义 BGF bivariate generating function horizonal GF 和 vertical GF 例子 组合数 horizonal GF vertical GF ( ...

  4. 前端性能精进之浏览器(五)——JavaScript

    JavaScript 是一种通过解释执行的高级编程语言,同时也是一门动态.弱类型的直译脚本语言,适合面向对象(基于原型)和函数式的编程风格. 直译语言可以直接在解释器中运行,而与直译语言相对应的编译语 ...

  5. Java 编程入门第一课:HelloWorld

    在之前的文章中,壹哥带大家搭建出了 Java 的开发环境,配置了 JDK 环境变量,并且我们也熟悉了 dos 命令行的操作.那么从这篇文章开始,壹哥就开始带各位真正地学习 Java 代码该怎么写. - ...

  6. Java面试——MyBatis

    一.MyBatis 与 JDBC 的区别 [1]JDBC 是 Java 提供操作数据库的 API:MyBatis 是一个持久层 ORM 框架,底层是对 JDBC 的封装.[2]使用 JDBC 需要连接 ...

  7. Maven 自动化构建

    一.Maven:是一款服务于 Java平台的自动化构建工具 [1]Maven可以将一个项目按模块划分成不同的工程,利于分工协作;[2]Maven可以将 jar包保存在自己的中央"仓库&quo ...

  8. Terraform 系列-Terraform 项目的典型文件布局

    系列文章 Terraform 系列文章 典型文件布局 - modules/ - services/ - webserver-cluster/ - examples/ - main.tf - outpu ...

  9. 基于Labelstudio的UIE半监督智能标注方案(本地版)

    基于Labelstudio的UIE半监督智能标注方案(本地版) 更多技术细节参考上一篇项目,本篇主要侧重本地端链路走通教学,提速提效: 基于Labelstudio的UIE半监督深度学习的智能标注方案( ...

  10. [Linux]常用命令之【cat/echo/iconv/vi/grep/find/head/tail】

    cat cat [选项] [文件].. # 一次显示整个文件或从键盘创建一个文件或将几个文件合并成一个文件 cat -n file1 # 编号文件内容再输出 echo -n 输出后不换行 -e 遇到转 ...