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()的区别相关推荐

  1. find_element 和find_elements 的区别

    find_element 定位的是一个元素webelement find_elements定位的是一组元素list[webelement1,webelement2.....],如一个表格的所有内容(以 ...

  2. selenium提取数据之driver对象定位标签元素获取标签对象的方法

    selenium提取数据之driver对象定位标签元素获取标签对象的方法 在selenium中可以通过多种方式来定位标签,返回标签元素对象 find_element_by_id (返回一个元素) fi ...

  3. selenium的使用教程1

    Selenium 库里有个叫 WebDriver 的 API,WebDriver 可以加载网站的浏览器,但是也可以像 BeautifulSoup 或者其他 Selector 对象一样用来查找页面元素, ...

  4. python网络爬虫系列(七)——selenium的介绍 selenium定位获取标签对象并提取数据 selenium的其它使用方法

    一.selenium的介绍 知识点: 了解 selenium的工作原理 了解 selenium以及chromedriver的安装 掌握 标签对象click点击以及send_keys输入 1. sele ...

  5. python爬虫获取标签规则_Python爬虫之数据提取-selenium定位获取标签对象并提取数据...

    ## selenium提取数据 知识点:了解 driver对象的常用属性和方法 掌握 driver对象定位标签元素获取标签对象的方法 掌握 标签对象提取文本和属性值的方法 1. driver对象的常 ...

  6. Python中selenium的玩法,小朋友看了都说学会了

    大家好,我是辣条. 目录 selenium的介绍 1. selenium运行效果展示 2. selenium的作用和工作原理 3. selenium的安装以及简单使用 4. selenium的简单使用 ...

  7. selenium webdriver使用

    selenium使用 引言 1.selenium课程概要 2.selenium的介绍 2.1selenium工作原理 2.2selenium模块与driver的安装 2.2.1 在python虚拟机环 ...

  8. 网络爬虫学习(二) selenium

    目录 六 selenium 一 selenium简介 1.什么是selenium? 2.为什么使用selenium? 3.selenium使用流程: 4.selenium的使用 二 访问网址 三 定位 ...

  9. python爬虫精选11集(selenium进阶总结【selenium的cookies处理、ip代理、useragent替换】)

    python爬虫精选11集(selenium进阶总结) 一.selenium的介绍 1. selenium运行效果展示 1.1 chrome浏览器的运行效果 1.2 phantomjs无界面浏览器的运 ...

最新文章

  1. 2021年大数据Spark(二十一):Spark Core案例-SogouQ日志分析
  2. 20155227 2016-2017-2 《Java程序设计》第九周学习总结
  3. flutter和webapp_Flutter Web Beta版本终于发布了
  4. 如何在单个测试中同时执行多个断言
  5. 9.2 LSMW程序创建操作手册 第3 4步
  6. [leetcode]Merge Intervals @ Python
  7. 《坦克世界》1.0+:使用 CPU 优化的图形和物理丰富用户体验
  8. 《Kotlin 极简教程 》第5章 集合类
  9. 兄弟节点div, +~选择器不能向前选择
  10. java之PropertyUtils
  11. Java代码如何翻译成机器语言
  12. 淘宝万能抢单exe,含python源码
  13. MoFlow:生成分子图的可逆流模型
  14. H3C交换机端口链路聚合
  15. 痛失移动支付的翼支付,未来仍存四大机会?
  16. 可鸡的三大充要条件来了!!
  17. c盘扩容(亲测有效)+软件已备好
  18. 含泪整理 计算机网络详细八股文(第一部分)
  19. iOS7新特性的兼容性处理方法
  20. SylixOS 延时工作队列实现原理详解

热门文章

  1. Quartus-II的安装教程
  2. HMM、MEMM、CRF
  3. 使用ch.ethz.ssh2中sess.execCommand方法导致线程卡死的原因分析
  4. 一个微信可以有多个头像昵称了
  5. sort()函数基本用法
  6. 弱网工具-NEWT应用
  7. Matlab 元胞数组和结构体
  8. 题1000、1001、1002
  9. localhost和127.0.0.1都无法打开的解决方法
  10. 基于区块链技术的性能测试