Web UI自动化测试基础——元素定位(二)
2024-09-09 11:53:40
本篇文章整理了元素定位的基础知识——多个元素定位方式。
一、多个元素定位方式简介
同单个元素定位方式相同,多个元素定位方式也有与之对应的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()
最新文章
- 编译系统中的 NFA/DFA算法理解
- javascript中使用循环链表实现约瑟夫环问题
- SAP 工厂日生产计划待排维护
- Web开发的常见面试题HTML和HTML5等
- PHP学习笔记(七)
- 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)
- radio的change事件
- POJ2449 Remmarguts' Date
- [java面试]javascript中dom取值问题radio名字一样归属于同一个组,求点击的是哪一个
- Flafka: Apache Flume Meets Apache Kafka for Event Processing
- 详解:idea工具下的main函数只执行Thread.activeCount(),打印值为:2
- A* 算法的原理
- PAT 甲级 1083 List Grades (25 分)
- mysql Column count doesn't match value count at row 1
- Grafana安装配置介绍
- Apache poi 使用经验分享
- iOS: UUID and SSKeyChain
- NFS-网络文件共享服务
- SQLHappy微软数据库连接查询操作,对数据的处理和查询
- 关于STM8S使用硬件SPI收发问题