web自动化测试系列-selenium常用方法定位(五)

目录

1.selenium的定位方法

2.操作案例

3.实现代码

前面我们介绍了html页面元素主要是通过标签和属性来进行定位 ,只要满足唯一,无论是标签还是属性 ,都能进行定位 。当然 ,我们要通过selenium来进行定位 ,同样还是使用标签和属性 。

1.selenium的定位方法

下面我们就来看下selenium提供的16种定位方法 。本文主要介绍id、name、class_name、link_text等方法的使用 ,向xpath和css放在后面的系列中介绍

以上的方法的意思是,我要使用什么的元素定位 。 是使用标签定位呢 ?还是使用属性定位 。selenium都给你提供了对应的方法。

比如 :

使用input标签定位 ,就可以使用find_element_by_tag_name('input') ,其中方法中传入的值就必须是标签的名字 ;

若使用id属性定位,就可以使用使用find_element_by_id(属性值) ,其中方法中传入的值必须id的属性值 。

同理,其它方法也都是如此 ,而这两个方法系列都有不同的使用场景 。

  • find_element系列的方法,它定位后返回的是一个元素对象 ,即它能代表唯一性 ,所以大多数也会使用这里面的方法。

  • find_elements系列的方法,它定位后返回的是多个元素对象 ,这些对象放在一个列表 ,所以你的通过索引获取我们要用那个 ,一般只有在定位不到时才会使用这个系列的方法 。

2.操作案例

需求:通过selenium完成对tpshop的登录操作,具体如下 :

  1. 使用link_text定位首页登录按钮 ,

  2. 使用id定位用户名输入框,并输入账号,如13112345678

  3. 使用id定位确认密码输入框,并输入123456 。

  4. 使用name定位验证码输入框,并输入8888

  5. 使用class_name定位登录按钮,并点击确定 。

 

找到每个页面对象的定位元素后 ,我们就可以写代码了 。下面我们使用python编写一段代码 。

3.实现代码


# 定位登录

from selenium import webdriver		# 导入webdriver
from time import sleep

# 1. 创建浏览器对象
driver = webdriver.Chrome()
driver.maximize_window()		# 浏览器最大化

# 2. 输入地址
driver.get("http://localhost")

# 3. 元素定位
# 3.1 点击登录 : link_text定位
driver.find_element_by_link_text("登录").click()
sleep(3)

# 3.2 输入用户名 :id定位
driver.find_element_by_id("username").send_keys("13088888888")

# 3.3 输入密码 :id定位
driver.find_element_by_id("password").send_keys("123456")

# 3.4 输入验证码 :name定位
driver.find_element_by_name("verify_code").send_keys("8888")

# 4. 点击登录 :class定位
driver.find_element_by_class_name("J-login-submit").click()

sleep(6)
driver.quit()		# 退出浏览器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/533975.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

wpf下如何实现超低延迟的RTMP或RTSP播放

技术背景 我们在做Windows平台RTMP和RTSP播放模块对接的时候,有开发者需要在wpf下调用,如果要在wpf下使用,只需要参考C#的对接demo即可,唯一不同的是,视频流数据显示的话,要么通过控件模式,要么…

使用脚本部署openstack平台

两台虚拟机,compute和controller computer的节点,内存4G,硬盘50G,网络要在虚拟机设置这里添加一个网络适配器,第一个是主机模式192.168.10.0,第二个是NAT模式192.168.20.0,再进入网络编辑器里编…

多输入多输出 | Matlab实现XGboost多输入多输出预测

多输入多输出 | Matlab实现XGboost多输入多输出预测 目录 多输入多输出 | Matlab实现XGboost多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现XGboost多输入多输出预测 1.data为数据集,10个输入特征,3个输出变量…

【绘图案例-获取裁剪过后的图片 Objective-C语言】

一、获取裁剪过后的图片 1.就是,把一张方形的图片,变成一张圆形的图片,然后,把它保存在相册里边儿, 我们刚刚学了保存到沙盒,是吧,现在来学保存到相册, 我们新建一个项目, Name:11-获取裁剪过后的图片, 我们还是在ViewController里面, 把下面这个方法删掉, 在下…

算法刷题应用知识补充---数论

这里写目录标题 快速幂求a^k%p题结 快速幂求逆元题结 扩展欧几里得求逆元题结 排列组合题结二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 快速幂求a^k%p 题 结 主要用到a的k次方,可以用多个a的…

RX4901CE自带SPI接口,适合用在需高精度和快速响应的设备

传统的模拟温度补偿晶振采用热敏电阻等元器件来检测环境温度,将温度信息做相应变换后控制晶振的输出频率用来实现稳定输出,但是这种做法频率补偿精度有限。伴随目前电路计算频率越来越高,更多工业级的高时间精度和快速时间响应的应用出现&…

实验5 流程图和盒图ns图

一、实验目的 通过绘制流程图和盒图,熟练掌握流程图和盒图的基本原理。 能对简单问题进行流程图和盒图的分析,独立地完成流程图和盒图设计。 二、实验项目内容(实验题目) 1、用Microsoft Visio绘制下列程序的程序流程图。 若…

代码整洁之道【3】--注释

传统的印象里,良好的代码都是需要丰富的注释的。看完《代码整洁之道》注释这章之后,发现根本不是这个样子: 什么也比不上放置良好的注释有用。什么也不会比乱七八糟的注释更有本事搞乱一个模块。 什么也不会比陈旧的、提供错误信息的注释更有…

Unity DOTS 入门(2) SubScene和Bake

SubScene 由于Unity原本的Scene无法使用ECS,所以需要SubScene来存放ECS模式下的内容可以正常的像普通的开发模式一样,在SubScene里面来添加GameObject, MonoBehaviour然后Unity将这个SubScene里面的物体,全部baking(烘培)出来,转…

Windows服务器任务计划启动 Java 应用遇到的error:解决错误ERROR0x2331

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

vs2022启动cmake项目(qt+c++)

1.本工程,如图,1个cmakelist.txt3个文件 2.启动vs 3.选择文件夹 4.进入这个页面,就说明配置没问题 5.启动 6.最后会自己生成其他文件

crc编码流水传输

目标 首先我们要确定目标就是输入两位错的时候我们需要重新传输 这其中还分了地址回位,不显示输出,各位清零操作 我们再去看一下这个的详细封转 这么做是有问题的,没有将之前的数据清零 我们做完清零操作以后我们提交一下 发现只需要一…

从零开始学Spring Boot系列-SpringApplication

SpringApplication类提供了一种从main()方法启动Spring应用的便捷方式。在很多情况下, 你只需委托给 SpringApplication.run这个静态方法 : SpringBootApplicationpublic class SpringbootLearningApplication {public static void main(String[] args) …

透视 Insilico 英矽智能:AI 制药明星企业的飞跃、困境与破局

衰老,从古至今困扰了无数仁人志士。无论是千古一帝秦始皇,还是雄才大略汉武帝,亦或者挥斥方遒唐太宗,这些伟大的帝王无一例外的都留下了许多追求长生的故事。当时光的指针落在了 21 世纪的第二个十年,随着全球老龄化问…

中老年人高血糖预防需知:少碰两黄一白,四指标严格控制!

对于血糖不好的人来说,尤其是中老年人,饮食上的调整非常重要。 “少碰两黄一白”是一个很好的饮食原则,可以帮助稳定血糖,预防糖尿病及其并发症的发生。 “两黄”指的是油炸食物和含糖量高的食物,长期摄入会导致身体肥…

css实现扫码循环扫描特效

摘要&#xff1a; 需求中需要模拟扫描的效果来实现户型的生成&#xff01;由于接口ai生成的图片户型时间比较长&#xff0c;所以需要模拟特效&#xff01; <!DOCTYPE html> <html><head><mate charset"UTF-8" /><title>扫描</title…

第二证券|这些翻倍牛股,他们赚到了!

龙年开市以来&#xff0c;有色、化工等周期板块以及AI、轿车等板块表现亮眼&#xff0c;成为商场主线&#xff0c;也涌现出多只大牛股。 数据显现&#xff0c;2月19日以来&#xff0c;到4月10日收盘&#xff0c;A股商场共涌现出33只翻倍股&#xff0c;234只个股涨幅超50%。易方…

美国G口服务器租用的应用领域

在当今数字化快速发展的时代&#xff0c;服务器成为了各行各业不可或缺的重要工具。其中&#xff0c;美国G口服务器以其高带宽、高性能的特点&#xff0c;在众多领域得到了广泛的应用。那么&#xff0c;美国G口服务器租用的应用领域究竟有哪些呢?接下来&#xff0c;本文将为您…

Python快速获取编程问题答案的方法库之howdoi使用详解

概要 howdoi是一个命令行工具,它提供了一种快速获取编程问题答案的方法,通过搜索和抓取Stack Overflow等网站的内容,直接在终端中显示编程问题的解决方案。 安装 通过pip可以轻松安装howdoi: pip install howdoi特性 快速访问编程解决方案:无需手动浏览Stack Overflow。…

大象机器人发布智能遥操作机械臂组合myArm MC,加速具身智能研究与发展!

在全球工业自动化和智能化加速发展的今天&#xff0c;机器人行业正经历着翻天覆地的变化。具身智能研究&#xff0c;作为人工智能领域的关键分支&#xff0c;正努力在精准动作控制、高层次自主决策能力以及自然人机交互体验上赋予机器人新的能力。 在此背景下&#xff0c;大象机…