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. RHEL8使用NMCLI管理网络

    使用 NMCLI 配置静态以太网连接 要在命令行上配置以太网连接,请使用 nmcli 工具. 例如,以下流程使用以下设置为 enp7s0 设备创建 NetworkManager 连接配置文件: 静态 ...

  2. 【Eolink】Apikit V10.8.0 版本发布!增加支持 DUBBO、TCP、SOAP 、HSF、UDP 的接口协议

    Apikit 最新功能来袭! 我们在这个版本实现了接口管理和测试能力的全面升级,包括且不限于: 新增功能速览: 增加支持 DUBBO.TCP.SOAP .HSF.UDP 接口文档和协议 接口文档可自动 ...

  3. Django笔记八之model中Meta参数的使用

    前面介绍了 model 的字段属性,字段类型,这篇笔记介绍一下 model 的 Meta 选项. 这个选项提供了一些参数,比如排序(ordering),表名(db_table)等. 但这都不是必需的, ...

  4. Sokit(TCP/UDP调试工具)

    下载:http://www.winwin7.com/soft/56522.html#xiazai Sokit中文版是一款免费开源的TCP / UDP 测试(调试)工具,它主要可以用于接收和发送TCP/ ...

  5. $\mathcal{Crypto}$ 共模攻击原理实现以及$\mathcal{CRT}$优化

    \(\mathcal{共模攻击概述}\) 共模攻击是一种攻击 \(\mathcal{RSA}\) 加密的技术,当两个密文使用相同的 \(\mathcal{RSA}\) 公共模数时,攻击者可以使用中国剩 ...

  6. STM32 HAL库学习 (3) 中断!

        中断在单片机开发中有着重中之重的地位.    中断即打断,实至CPU再执行当前程序时,由于系统出现了某种需要处理的紧急情况,CPU暂停正在执行的程序,转而去执行另一段特殊程序来处理的出现的紧急 ...

  7. 什么时候需要使用try-catch

    代码执行预料不到的情况,或出错的可能性很大时,使用try-catch语句 构造一个文件输入流(上传文件时,线上环境的内存情况不确定)出错的可能性很大 文件上传写入, 数据库事务的提交,还有摄像头和打印 ...

  8. [SpringBoot/JavaEE]SpringBoot启动与停用的4种方式

    SpringBoot版本: 2.1.6.RELEASE 1 启动 方式1 – IntelliJ IDEA - Windows 右键启动类SpringBootSampleApplication.java ...

  9. 容器云平台监控告警体系(五)—— Prometheus发送告警机制

    1.概述 在Prometheus的架构中告警被划分为两个部分,在Prometheus Server中定义告警规则以及产生告警,Alertmanager组件则用于处理这些由Prometheus产生的告警 ...

  10. 业务系统对接CAS

    启动类加@EnableCasClient <!--cas客户端--> <dependency> <groupId>net.unicon.cas</groupI ...