Python自动化系统6

元素的特征:根据页面设计规则,有些特征是唯一 ==开发遵循了这个规则
id :类比身份证号―==仅限于当前页面 username username
注意:如果id 不是固定的话,就不能使用来定位!

xpath:
1、绝对路径:/html/body/div/div/div[1]/a/b --根节点,顺序性,继承关系 --失效
== 面试不说,工作不用
2、相对路径:只靠自己的特征定位 // 开头 – 加上我关心节点的标签名
==标签名+属性 =//标签名[@属性名=属性值]
//input[@id=“username”] --xpath表达方式
在这里插入图片描述

3、获取页面文本:text

2、层级定位:
//标签名[@属性值]//标签名[@属性名=届性值]
-//div[@class=“login-logo”]//b

3、文本属性定位://b[text()=“柠檬ERP"]

4、包含属性值://标签名[contains(@属性名/text(),属性值]
—//input[contains(@class,“username”)]

找到了有username这个id的元素–点,输入内容
driver.find_element_by_xpath("//input[@id=‘username’] ").send_keys(“test123”)
#1、找到这个元素的位置之后获取文本,赋值给变量
page_text = driver.find_element_by_xpath (‘//div[@class=“login-logo”]//b’).text
page_tile = driver.title #2、获收页面的标题
print(“这个页面的标题是:{}”.format(page_tile))
if page_text==“柠檬ERP”:
print(“这个页面的标题是:{}”.format(page_text))
else:
print(“这个条件测试用例不通过!”)

#第五条用例
#获取到登录的用户名
但凡是切换了页面,页面没有加载定,元素不显示==最好加个等待:
三种等待方式:
1、强制等待: time.sleep() ==没有完成等待时间 不往下执行:
2、智能等待:
隐式等待:可以设置等待时间,再这个等待时间还没有结束之前元素找到了,不继续等待,继续执行下面的代码:–灵话
注意:一个session里只执行一次。
显示等待:expected_condition ==Python班级

八大元素定位方式
三大等待
四大操作

time.sleep(5) #强制等待5秒
login_user=driver.find_element_by_xpath(“//P[text()=‘测试用户’]”).text
if login_user==“测试用户”:
print(“这个登录的用户是:{}”.format(login_user))
else:
print(“这个条件测试用例不通过!”)

#点击零售出库
driver.find_element_by_xpath(“//span[text()=‘零售出库’]”).click()

‘’’
1、识别是否有子页面的方式:页面层级路径里出现iframe:就需要去切换iframe才可以进行元素的定位。
2、怎么去切换:
1)找到这个iframe元素,切换
‘’’
#id = driver.find_element_by_xpath(“//iframe[eid=‘tabpanel-bafba10ab5-frame’]”)
driver.switch_to.frame (‘tabpanel-bafba10ab5-frame’)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初始Maven

1.背景 问题引入:为什么要使用 Maven? 1.1 添加第三方 jar 包 在 JavaEE 开发领域,有大量的第三方框架和工具可以供我们使用。使用这些 jar 包最简单的方法就是复制粘贴到 WEB-INF 目录中的 lib 目录下。但是会导致每次创建一个新工程就需要将…

基于python+django+mysql农业生产可视化系统

博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…

数据结构系列-堆排序当中的T-TOK问题

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 之前我们讲到了堆排序的实现逻辑,那么接下来我们重点关注的就是其中的T-TOK问题 T-TOK说简单点,就是说,假如有10000个数据(随机的…

Vue3后台管理系统推荐

目录 项目概述 🍟 项目展示 功能特点 🥗 结语 💨 项目概述 🍟 基于Vue 3框架与Element-Plus UI组件库技术精心构建的后端管理模板。该模板系统已成功实现一个基础的权限管理模块,宗旨在于为追求高效二次开发的开发…

用Processing写一个根据音乐变化的黑白格游戏

黑白格游戏 简述准备工作游戏设计实现代码注意事项优化二次优化 简述 为了创建一个简单的根据音乐变化的黑白格游戏,我们将利用Processing的简洁性和直观操作来实现。游戏的核心思想是:屏幕上呈现多个黑白格,随着音乐的播放,格子…

【C++例题】复数类加减法运算重载—成员函数形式

知识点: 1.两个不同位置的const的不同意义 2.形参有默认值的函数只能在类内给出,类外不能多余声明,即使默认值一样 3.创建一个临时对象调用的是构造函数而非默认的复制构造函数 4.重载的运算符可以当成普通运算符使用,但是要注…

hsql数据库(HyperSQL )(简单了解一下)

文章目录 一、HyperSQL (HSQLDB)1、HSQLDB是什么2、安装事务提一嘴特点看官网Datagrip连接HSQLDBMaven地址使用场景 参考文章 一、HyperSQL (HSQLDB) 1、HSQLDB是什么 HSQLDB (Hyper SQL Database)是一个用Java编写的关系数据库管…

SpringBoot---------整合Mybatisplus

快速入门 第一步&#xff1a;导入依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.1</version></dependency> 第二步&#xff1a;编写mapper…

【C++题解】1632. 需要几辆车

问题&#xff1a;1632. 需要几辆车 类型&#xff1a;分支 题目描述&#xff1a; 学校有 n 位同学要外出旅游&#xff0c;一辆大巴车可以坐 30 人&#xff0c;请问需要几辆大巴车&#xff1f; 输入&#xff1a; 一个整数 n&#xff0c;代表同学的总人数。 输出&#xff1a;…

区块链技术在物联网中的应用:连接未来的智能世界

随着物联网&#xff08;IoT&#xff09;的快速发展&#xff0c;越来越多的设备和传感器开始连接到互联网&#xff0c;并产生海量的数据。这些数据不仅具有巨大的商业价值&#xff0c;还能够为我们的生活和工作带来巨大的便利和效率提升。然而&#xff0c;与此同时&#xff0c;物…

明日方舟游戏助手:一键完成日常任务 | 开源日报 No.233

MaaAssistantArknights/MaaAssistantArknights Stars: 11.6k License: AGPL-3.0 MaaAssistantArknights 是一款《明日方舟》游戏的小助手&#xff0c;基于图像识别技术&#xff0c;支持一键完成全部日常任务。 刷理智、掉落识别及上传企鹅物流智能基建换班、自动计算干员效率…

STM32 串口打印乱码(Cubemx)

STM32 串口打印乱码&#xff08;Cubemx&#xff09; 时钟配置错误&#xff0c;CubeMX默认的外部晶振是25MHz&#xff0c;而板载的晶振为8MHzSTM32F407修改程序将外部25M晶振修改为8M&#xff08;标准库、HAL库&#xff09; 核心问题 芯片型号与晶振配置&#xff1a;使用的ST…

网络安全-Diffie Hellman密钥协商

密钥协商是保密通信双方&#xff08;或更多方&#xff09;通过公开信道来共同形成密钥的过程。一个密钥协商方案中&#xff0c;密钥的值是某个函数值&#xff0c;其输入量由两个成员&#xff08;或更多方&#xff09;来提供。密钥协商的记过是参与协商的双方&#xff08;或更多…

【linux】Linux第一个小程序-进度条

1. 预备知识&#xff1a;回车和换行 回车&#xff08;Carriage Return&#xff0c;CR&#xff09;&#xff1a; 在早期的机械打字机中&#xff0c;回车指的是将打字机的打印头移回到行首的操作&#xff0c;这样打印头就可以开始新的一行的打印。在ASCII编码中&#xff0c;回车用…

AIGC-stable-diffusion(文本生成图片)+PaddleHub/HuggingFace

功能 stable-diffusion(文本生成图片)PaddleHub&#xff0c;HuggingFace两种调用方式 PaddleHub 环境 pip install paddlepaddle-gpu pip install paddlehub 代码 from PIL import Image import paddlehub as hub module hub.Module(namestable_diffusion)## 保存在demo…

NXP恩智浦 S32G电源管理芯片 VR5510 安全概念 Safety Concept (万字长文详解,配21张彩图)

NXP恩智浦 S32G电源管理芯片 VR5510 安全概念 Safety Concept (万字长文详解&#xff0c;配21张彩图) 1. 简介 本应用笔记描述了与S32G处理器和VR5510 PMIC相关的安全概念。该文档涵盖了S32G和VR5510的安全功能以及它们如何相互作用&#xff0c;以确保对ASIL D安全完整性级别…

transformers - 预测中间词

代码 from transformers import AutoTokenizer#加载编码器 tokenizer AutoTokenizer.from_pretrained(distilroberta-base, use_fastTrue)print(tokenizer)#编码试算 tokenizer.batch_encode_plus([hide new secretions from the parental units,contains no wit , only labor…

@PropertySource的使用

假设我们有一个名为 database.properties 的属性文件&#xff0c;内容如下&#xff0c;该文件位于项目的类路径 (resources 目录) 下&#xff1a; # database.properties db.urljdbc:mysql://localhost:3306/mydb db.usernameroot db.passwordpassword 然后&#xff0c;创建一…

STM32,复位和时钟控制

外部时钟 HSE 以后需要用到什么就这样直接拿去配就行了

【文件上传与包含漏洞综合利用】DVWA-文件上传-难度:High

实验过程和结果 步骤1&#xff1a;尝试直接上传php木马&#xff0c;失败&#xff0c;截图如下&#xff1a; 步骤2&#xff1a;将php木马后缀改为jpeg尝试上传&#xff0c;依旧失败&#xff0c;截图如下&#xff1a; 步骤3&#xff1a;将真实的jpeg图片1.jpeg上传&#xff0c;成…