python ui自动化之元素定位和常用操作
做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示)
一、最通用的几种定位方式:
1.通过id定位

driver.find_element_by_id('su')
2.通过name定位

driver.find_element_by_name('mp')
3.通过class属性

driver.find_element_by_class_name('s_ipt')
4.通过文本链接

driver.find_element_by_link_text('新闻')
以上的方法都是最基本的方法,在实际中用到的并不多。接下来的两个方法才是重点!!!
一、xpath方法
1.通过绝对路径(但是这个方法很不可取,不仅会导致程序运行很缓慢,也会显得很low,很不美观,如果路径有几行依然复制几行吗?显然有问题)
driver.find_element_by_xpath('/html/body/div[1]/div[1]/div/div[1]/div/form/span[1]/input')
2.通过相对路径

以图上定位这个form表单为例
方法一:
driver.find_element_by_xpath('//*[@id="head"]/div/div/div/form')
上面的写法可以理解为,通过xpath寻找,任意(*代表)id属性为’head‘下面的div/div/div下面的form表单
方法二:
driver.find_element_by_xpath('//*[@class="s-form"]/div/form')
上面的写法可以理解为,通过xpath寻找,任意(*代表)id属性为’s-form‘下面的/div下面的form表单
方法三;
driver.find_element_by_xpath('//form[@id="form"]')
上面的写法可以理解为,通过xpath寻找,id为form的form表单
xpath是万能的,没有xpath定不到的元素,还有其他很多地方方法,具体场景具体方法,这里就不一一再举例了....(比如通过文字等等)
一、css方法
还是拿这个图片来举例吧

方法一、单一属性定位
driver.find_elements_by_css_selector('form')
方法二、id定位
driver.find_elements_by_css_selector('form')
方法三、class定位
driver.find_elements_by_css_selector('fm')
方法四、其他属性定位
driver.find_elements_by_css_selector('[name="f"]')
方法五、组合属性定位
driver.find_elements_by_css_selector('form#form') # 属性加上id
driver.find_elements_by_css_selector('form.s_ipt') # 属性加上class
driver.find_elements_by_css_selector('form[name="f"]') # 属性加上其他属性
以上是css最常用的定位方法,还有很多就不一一举例了,具体场景具体使用....
常用操作
click() 点击
send_keys() 输入内容
python ui自动化之元素定位和常用操作的更多相关文章
- (appium+python)UI自动化_03_元素定位工具
前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorvie ...
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
- UI自动化之元素定位(xpath、css)
很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...
- 关于UI自动化IOS元素定位方法说明
1. 元素属性介绍 下图是通过weditor定位的微博的"我的钱包",各属性如下图: className:元素类型,如:XCUIElementTypeButton isEnable ...
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍
这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~同时CSDN总是屏蔽这篇文章,再加上最近 ...
- 关于UI自动化中元素定位常用方法的个人总结
1.如果目标元素有id属性,优先使用id定位: 2.元素locator尽可能保证简洁,考虑locator中路径的变化频率,尽量减少后期更新和维护成本: 3.使用xpath时,不要一味的使用‘/’逐层进 ...
- python UI自动化之JS定位
1.话不多说,直接贴入代码 上面的 document.getElementById 可以替换成别的定位方式,比如: 通过name获取:document.getElementsByName 通过标签获取 ...
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...
- selenium+python自动化之元素定位
自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...
随机推荐
- python lambda ,map详解
lambda 匿名函数 # 普通定义函数 def func1(x,y): return x+y # 执行函数 print(func(1,2)) # 如果此函数只调用一次,或者功能简单,此方法就显得笨拙 ...
- js面向对象的程序设计 --- 上篇(理解对象)
前言 ECMAScript中没有类的概念,因此它们的对象与基于类的语言中的对象有所不同. ECMA-262把对象定义为:"无序的集合属性,其属性可以包含基本值,对象或者函数".正因 ...
- JQ 获取浏览器窗口宽高
$(window).height(); // 浏览器时下窗口可视区域高度 $(document).height(); //浏览器时下窗口文档的高度 $(document.body).height(); ...
- Elasticsearch集群知识笔记
Elasticsearch集群知识笔记 Elasticsearch内部提供了一个rest接口用于查看集群内部的健康状况: curl -XGET http://localhost:9200/_clust ...
- 图像变换 - 霍夫线变换(cvHoughLines2)
霍夫变换是一种在图像中寻找直线.圆及其他简单形状的方法,霍夫线变换是利用Hough变换在二值图像中找到直线. 利用CV_HOUGH_PROBABILISTIC,对应PPHT(累计概率霍夫变换)?这个算 ...
- Java-POJ1013-Counterfeit Dollar
在13枚硬币中找出fake的那一个 输入:三次天平称量结果 package poj.ProblemSet; import java.util.Scanner; /* 我怎么觉得是贪心算法呢? 起初对所 ...
- C语言 fputs
C语言 fputs #include <stdio.h> int fputs(const char * str, FILE * stream); 功能:将str所指定的字符串写入到stre ...
- Zigbee 与 WiFi 的区别
zigbee 在蓝牙技术的使用过程中,人们发现蓝牙技术尽管有许多优点,但仍存在许多缺陷.对工业,家庭自动化控制和遥测遥控领域而言,蓝牙技术显得太复杂,功耗大,距离近,组网规模太小等,……而工业自动化对 ...
- audio mixer
https://blog.csdn.net/jeffasd/article/details/77155187 https://blog.csdn.net/jeffasd/article/details ...
- 哪款C语言编译器(IDE)适合初学者?
这里我们把“编译器”和“IDE(集成开发环境)”当做一个概念,不再加以区分. C语言的集成开发环境有很多种,尤其是 Windows 下,多如牛毛,初学者往往不知道该如何选择,本节我们就针对 Windo ...