find_element()和find_elements()的区别
1.是什么
find_element()和find_elements()都是用以元素定位的方法
区别:
以当前页面存在多个相同元素resource-id为例,如图中存在5个相同的resource-id
find_element()为单数,即获取到符合条件的第一个resource-id即返回
find_elements()为复数,获取的是一个列表,返回的也是列表形式,如下:
[
<appium.webdriver.webelement.WebElement (session="aa73e158-873a-40d8-92ce-d254e38bc28a", element="eafa2251-c9ca-4df6-bf0d-85e4ec01e633")>,
<appium.webdriver.webelement.WebElement (session="aa73e158-873a-40d8-92ce-d254e38bc28a", element="d2731cfb-6899-4a4a-945e-b5945e71abc7")>,
<appium.webdriver.webelement.WebElement (session="aa73e158-873a-40d8-92ce-d254e38bc28a", element="64f2c885-56c1-4391-89ce-e3dc6b58ab22")>,
<appium.webdriver.webelement.WebElement (session="aa73e158-873a-40d8-92ce-d254e38bc28a", element="88864701-5ce0-416e-b738-0c225478968d")>,
<appium.webdriver.webelement.WebElement (session="aa73e158-873a-40d8-92ce-d254e38bc28a", element="91efbc13-ed70-4a72-9637-d0cca02d1976")>
]
2.为什么
为什么要区分find_element()和find_elements(),
原因就在于在实际元素定位操作中这样的情况非常普遍,如果遇到该样元素相同的情况,仅依靠find_element()就行不通了,需要find_elements()来救场.
当然find_elements()也有其弊端,比如页面相同元素过多时,确定下标可能稍显繁琐,
此时可采用备用方案,如采用坐标定位来进行点击操作
3.怎么做
#正常示例:element单数时,自动返回符合条件的第一个元素
dri.find_element_by_id("com.chinaesport.bugegaming:id/image_view").click()
#错误示例:element复数时,在()后必须指定元素下标,否则报错
dri.find_elements_by_id("com.chinaesport.bugegaming:id/image_view").click()
dri.find_elements_by_id("com.chinaesport.bugegaming:id/image_view")[3].click()
find_element()和find_elements()的区别相关推荐
- find_element 和find_elements 的区别
find_element 定位的是一个元素webelement find_elements定位的是一组元素list[webelement1,webelement2.....],如一个表格的所有内容(以 ...
- selenium提取数据之driver对象定位标签元素获取标签对象的方法
selenium提取数据之driver对象定位标签元素获取标签对象的方法 在selenium中可以通过多种方式来定位标签,返回标签元素对象 find_element_by_id (返回一个元素) fi ...
- selenium的使用教程1
Selenium 库里有个叫 WebDriver 的 API,WebDriver 可以加载网站的浏览器,但是也可以像 BeautifulSoup 或者其他 Selector 对象一样用来查找页面元素, ...
- python网络爬虫系列(七)——selenium的介绍 selenium定位获取标签对象并提取数据 selenium的其它使用方法
一.selenium的介绍 知识点: 了解 selenium的工作原理 了解 selenium以及chromedriver的安装 掌握 标签对象click点击以及send_keys输入 1. sele ...
- python爬虫获取标签规则_Python爬虫之数据提取-selenium定位获取标签对象并提取数据...
## selenium提取数据 知识点:了解 driver对象的常用属性和方法 掌握 driver对象定位标签元素获取标签对象的方法 掌握 标签对象提取文本和属性值的方法 1. driver对象的常 ...
- Python中selenium的玩法,小朋友看了都说学会了
大家好,我是辣条. 目录 selenium的介绍 1. selenium运行效果展示 2. selenium的作用和工作原理 3. selenium的安装以及简单使用 4. selenium的简单使用 ...
- selenium webdriver使用
selenium使用 引言 1.selenium课程概要 2.selenium的介绍 2.1selenium工作原理 2.2selenium模块与driver的安装 2.2.1 在python虚拟机环 ...
- 网络爬虫学习(二) selenium
目录 六 selenium 一 selenium简介 1.什么是selenium? 2.为什么使用selenium? 3.selenium使用流程: 4.selenium的使用 二 访问网址 三 定位 ...
- python爬虫精选11集(selenium进阶总结【selenium的cookies处理、ip代理、useragent替换】)
python爬虫精选11集(selenium进阶总结) 一.selenium的介绍 1. selenium运行效果展示 1.1 chrome浏览器的运行效果 1.2 phantomjs无界面浏览器的运 ...
最新文章
- 2021年大数据Spark(二十一):Spark Core案例-SogouQ日志分析
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
- flutter和webapp_Flutter Web Beta版本终于发布了
- 如何在单个测试中同时执行多个断言
- 9.2 LSMW程序创建操作手册 第3 4步
- [leetcode]Merge Intervals @ Python
- 《坦克世界》1.0+:使用 CPU 优化的图形和物理丰富用户体验
- 《Kotlin 极简教程 》第5章 集合类
- 兄弟节点div, +~选择器不能向前选择
- java之PropertyUtils
- Java代码如何翻译成机器语言
- 淘宝万能抢单exe,含python源码
- MoFlow:生成分子图的可逆流模型
- H3C交换机端口链路聚合
- 痛失移动支付的翼支付,未来仍存四大机会?
- 可鸡的三大充要条件来了!!
- c盘扩容(亲测有效)+软件已备好
- 含泪整理 计算机网络详细八股文(第一部分)
- iOS7新特性的兼容性处理方法
- SylixOS 延时工作队列实现原理详解