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

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

  同单个元素定位方式相同,多个元素定位方式也有与之对应的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()

Web UI自动化测试基础——元素定位(二)的更多相关文章

  1. Web UI自动化测试基础——元素定位(三)

    本篇文章整理了元素定位的基础知识——iframe框架中的元素定位. 一.iframe框架元素定位 iframe是Html页面的内联框架,如果在自动化测试中无法定位到某个元素,那么很有可能是因为该元素在 ...

  2. Web UI自动化测试基础——元素定位(一)

    本篇文章整理了元素定位的基础知识——单个元素定位方式. 一.单个元素定位方式简介 1. find_element_by_id 通过元素的id属性进行定位.以百度首页为例,首先进入https://www ...

  3. [原创]浅谈Web UI自动化测试

    [原创]浅谈Web UI自动化测试 Web UI自动化测试相信大家都不陌生,今天来谈谈这个,我最早接触自动化测试时大约是在2004年,2006年当时在腾讯财付通算是开始正式接触自动化测试,之所以是正式 ...

  4. 简单Web UI 自动化测试框架 pyse

    WebUI automation testing framework based on Selenium and unittest. 基于 selenium 和 unittest 的 Web UI自动 ...

  5. 【转】Web UI自动化测试原理

    目前市面上有很多Web UI自动化测试框架,比如WatiN, Selinimu,WebDriver,还有VS2010中的Coded UI等等.  这些框架都可以操作Web中的控件,模拟用户输入,点击等 ...

  6. 『心善渊』Selenium3.0基础 — 4、Selenium基础元素定位详解

    目录 1.什么是元素定位 2.Selenium元素定位常用API (1)By_id 定位 (2)by_name 定位 (3)by_class_name 定位 (4)by_tag_name 定位 (5) ...

  7. web自动化测试(java)---元素定位

    和python类似,java-selenium也提供了很多种元素定位的方法,具体如下: findElement(By.id()) findElement(By.name()) findElement( ...

  8. web自动化:元素定位(二)

    一. 实例 如何定位到下图第二个"抢投标",有一种方法是利用xpath定位 //a[@href="/loan/loan_detail/Id/7190.html" ...

  9. python ui自动化之元素定位和常用操作

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

随机推荐

  1. python paramiko模块:远程连接服务器

    1.  SFTP基于 用户名密码 登录服务器,实现上传下载: import paramiko transport = paramiko.Transport(()) # 生成trasport,配置主机名 ...

  2. DeepFaceLab更新至2019.12.19

    简而言之就是:人脸转换更加稳定和精确,切脸上下边界对齐,增加侧脸和嘴巴的识别面积,所以在这个版本之前的模型需要额外的训练.好消息是,如果你目前素材的嘴巴和侧脸识别有问题,可以重新提取脸部. 之前和之后 ...

  3. java基础语法3 方法

    方法的定义-方法的特点 -方法的应用-方法的重载-数组定义-数组初始化-二维数组-Java中参数传递的特点:值传递 7.方法 7.1 方法的定义 什么是方法?Method方法就是定义在类中的,具有特定 ...

  4. springboot 配置quart多数据源

    Springboot版本为2.1.6 多数据源配置使用druid进行配置,数据库使用的为Oracle11g,如果使用的是MySQL,直接将数据库的地址和驱动改一下即可 <parent> & ...

  5. day_08 字符编码乱码处理

    Python3默认编码是unicode:而Python2是ASCII码.Windows环境默认是gbk编码. 常见编码错误原因: 1. Python解释器的默认编码 2. Python源文件文件编码 ...

  6. java 实现 图片与byte 数组互相转换

    package webgate; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import ja ...

  7. @ENABLECACHING 基于注解的缓存

    @EnableCaching• @Cacheable指定一个或多个Cache名字,同属性cacheNamesSpring Cache 使用 ---@EnableCaching @Cacheable 注 ...

  8. PHP基础-表达式介绍

    表达式是 PHP 最重要的基石.在PHP 编程 中,几乎所写的任何东西都是一个表达式.简单但却最精确的定义一个表达式的方式就是“任何有值的东西”. 最基本的表达式形式是常量和变量.当键入“$a = 5 ...

  9. 随机数:rand()

    首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明.   rand(产生随机数)   表头文件: #include<stdlib ...

  10. luogu P1223 排队接水 x

    P1223 排队接水 题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小. 输入输出格式 输入格式: 输入文件共两行, ...