UI自动化之8种基础定位
UI自动化的核心在于定位
目录
1、8种基础定位方法
2、xpath定位
3、css定位
4、多组元素
1、8种基础定位方法
driver.find_element_by_id() #id定位
driver.find_element_by_name() #name定位
driver.find_element_by_class_name() #class定位
driver.find_element_by_tag_name() #标签名定位,一般用于iframe;标签较少的也可以使用,用取下标的方式
driver.find_element_by_xpath() #xpath定位,可以用firepath来获得这个定位
driver.find_element_by_css_selector() #css定位
driver.find_element_by_link_text() #a标签的文本定位
driver.find_element_by_partial_link_text() #a标签的局部文本定位
2、xpath定位
//:相对定位
*匹配任意标签
第一种:id\class\name\其他属性
driver.find_element_by_xpath("//*[@id='']") #id和值
driver.find_element_by_xpath("//*[@class='']") #class和值
driver.find_element_by_xpath("//*[@name='']") #name和值,如:find_element_by_xpath("//*[name='']")
driver.find_element_by_xpath("//*[@shuxingming='']") #属性名和值,如:find_element_by_xpath("//*[align='left']")
第二种:模糊匹配\层级\索引\逻辑运算
模糊匹配:
driver.find_element_by_xpath("//*[contains(text(),'测试')]") #包含某些字符
driver.find_element_by_xpath("//*[starts-with(text(),'测试')]") #以某些字符开头
driver.find_element_by_xpath("//*[ends-with(text(),'测试')]") #以某些字符结尾
driver.find_element_by_xpath("//*[matchs(text(),'测试')]") #正则匹配
层级:
driver.find_element_by_xpath("//*[@id='']/p")
索引:
driver.find_element_by_xpath("//*[@id='']/option[0]")
逻辑运算:
driver.find_element_by_xpath("//*[@class=''and @name='']")
第三种:
绝对定位,使用firepath
3、css定位
第一种:id\class\标签名
driver.find_element_by_css_selector("#username") #id为username
driver.find_element_by_css_selector(".username") #class为username
driver.find_element_by_css_selector("iframe") #标签名为iframe
第二种:
索引:
driver.find_element_by_css_selector("selet#nr>option:nth-child(1)") #标签名:nth-child(1)来定位子元素
层级:
driver.find_element_by_css_selector("selet#nr>option") #标签名:nth-child(1)来定位子元素
逻辑运算:
driver.find_element_by_css_selector("input#nr[id=''][class='']") #不用and连接,写在一起即可
4、多组元素
一组元素是find_element,多组就是find_elements,其他定位方法一样。只不过要通过下标索引的方式取得想要的值
m=driver.find_elements_by_name("qq")
print m[1]
UI自动化之8种基础定位的更多相关文章
- UI自动化(selenium+python)之元素定位的三种等待方式
前言 在UI自动化过程中,常遇到元素未找到,代码报错的情况.这种情况下,需要用等待wait. 在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverW ...
- 【python+selenium的web自动化】- 8种元素定位方式详解
我们在做WEB自动化时,最根本的就是操作页面上的各种元素,而操作的基础便是元素的定位,只有准确地定位到唯一元素才能进行后续的自动化控制,下面将对各种元素定位方式进行总结归纳. 说明:以下操作统 ...
- UI自动化学习笔记- Selenium元素定位及元素操作
一.元素定位 1. 如何进行元素定位? 元素定位就是通过元素的信息或元素层级结构来定位元素的 2.定位工具 浏览器开发者工具 3.元素定位方式 Selenium提供了八种定位元素方式 id name ...
- UI自动化(十)selenium定位
浏览器操作 1 2 3 4 5 6 7 8 # 刷新 driver.refresh() # 前进 driver.forward() # 后退 driver.back() 获取标签元素 ...
- Selenium2学习-009-WebUI自动化实战实例-007-Selenium 8种元素定位实战实例源代码(百度首页搜索录入框及登录链接)
此 文主要讲述用 Java 编写 Selenium 自动化测试脚本编写过程中,通过 ID.name.xpath.cssSelector.linkText.className.partialLinkTe ...
- python ui自动化之元素定位和常用操作
做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 ...
- UI自动化之三种等待
UI自动化中常用三种等待 目录 1.强制等待 2.隐式等待 3.显示等待 1.强制等待 执行到某一条语句后,然后sleep(3),等待3秒后,才会继续执行后面的语句 2.隐式等待 隐式等待只需要声明一 ...
- (appium+python)UI自动化_03_元素定位工具
前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorvie ...
- 基于Selenium2+Java的UI自动化(3) - 页面元素定位
一.几种网页定位方式 webdriver的页面定位很灵活,提供了8种定位方式: 其中,常见的有三种:id .cssSelector .xpath: 一个元素如果存在 id 属性,则这个 id 的值,在 ...
随机推荐
- RNN, LSTM, GRU cells
项目需要,先简记cell,有时间再写具体改进原因 RNN cell LSTM cell: GRU cell: reference: 1.https://towardsdatascience.com/a ...
- 简单的物流项目实战,WPF的MVVM设计模式(三)
往Services文件里面添加接口以及实现接口 IUserService接口 List<User> GetAllUser(); GetUserService类 ConnectToDatab ...
- Python 项目转化为so文件
思路是先将py转换为c代码,然后编译c为so文件,所以要安装以下内容: python 安装:cython pip install cython linux 安装:python-devel,gcc yu ...
- nginx 启动关闭
#检查语法 /application/nginx/sbin/nginx –t #平滑重启 /application/nginx/sbin/nginx –s reload #不间断服务重启,将 pid ...
- C# List<Object>值拷贝
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Run ...
- hdu4731 Minimum palindrome (找规律)
这道题找下规律,3个字母或者以上的时候就用abcabcabc....循环即可. 一个字母时,就是aaaaa.....; 当只有2个字母时!s[1][]=a"; s[2][]="ab ...
- python类和self解析
在介绍Python的self用法之前,先来介绍下Python中的类和实例……我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用 ...
- MYSQL数据导出与导入,secure_file_priv参数设置
https://www.imooc.com/article/41883 MySQL 报错 [Code: 1290, SQL State: HY000] The MySQL server is run ...
- Day01_初识Python
Python简介 Python的历史 1.1989年圣诞节:Guidao von Rossum开始写Python语言的编译器 2.1991年2月:第一个Python编译器(同时也是解释器)诞生,他是使 ...
- 总结PHP缓存技术的多种方法
这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓 ...