本篇文章整理了元素定位的基础知识——多个元素定位方式。

一、多个元素定位方式简介

  同单个元素定位方式相同,多个元素定位方式也有与之对应的8种方式,即id、name、class_name、tag_name、link_text、partial_link_text、xpath和css_selector。不同的是方法名中element需要写成复数形式。多个元素定位得到的结果通常是一个列表类型,可以通过索引方式访问具体元素。

二、实例

  以百度首页为例,通过find_elements_by_tag_name方式进行演示。如图所示,共有15个标签名为input的元素,其中第8个是百度搜索框,第9个是‘百度一下’的搜索按钮,对应下标分别是7和8。

 import time

 from selenium import webdriver

 # 创建driver实例
driver = webdriver.Chrome()
# 打开百度首页
driver.get('https://www.baidu.com')
# 通过tag_name属性找出百度首页中的所有input元素
inputs = driver.find_elements_by_tag_name('input')
# 打印inputs类型
print(type(inputs))
# 打印inputs长度
print(len(inputs))
# 遍历inputs,打印列表中的每个元素
for i in range(len(inputs)):
print('{0} : {1}'.format(i, inputs[i]))
# 在百度搜索框中输入input进行搜索
inputs[7].send_keys('input')
inputs[8].click()
# 等待2秒
time.sleep(2)
# 退出驱动程序并关闭浏览器
driver.quit()

最新文章

  1. 编译系统中的 NFA/DFA算法理解
  2. javascript中使用循环链表实现约瑟夫环问题
  3. SAP 工厂日生产计划待排维护
  4. Web开发的常见面试题HTML和HTML5等
  5. PHP学习笔记(七)
  6. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)
  7. radio的change事件
  8. POJ2449 Remmarguts' Date
  9. [java面试]javascript中dom取值问题radio名字一样归属于同一个组,求点击的是哪一个
  10. Flafka: Apache Flume Meets Apache Kafka for Event Processing
  11. 详解:idea工具下的main函数只执行Thread.activeCount(),打印值为:2
  12. A* 算法的原理
  13. PAT 甲级 1083 List Grades (25 分)
  14. mysql Column count doesn't match value count at row 1
  15. Grafana安装配置介绍
  16. Apache poi 使用经验分享
  17. iOS: UUID and SSKeyChain
  18. NFS-网络文件共享服务
  19. SQLHappy微软数据库连接查询操作,对数据的处理和查询
  20. 关于STM8S使用硬件SPI收发问题

热门文章

  1. C++ 6小时刷完面向对象
  2. SpringBootMVC01——A simple SpringBootMVC Sample
  3. 18Bootstrap
  4. Redis在centos上面的安装
  5. IDL_MCTK(MODIS Conversion Toolkit)
  6. js常用操作
  7. VCL界面控件DevExpress VCL Controls发布v19.1.2|附下载
  8. 微信小程序评价页面
  9. Gym-100923A-Por Costel and Azerah(DP)
  10. 获取树莓派ip地址的方法