网站首页 > 技术文章 正文
前言
在做web自动化的时候,对于一些弹出的提示信息的字体颜色,当然一般都是红色的。那么当我们跑自动化时候,如何判断提示新的字体颜色是否我们预期的结果呢?
个人思路
安静这里先介绍下自己的思路:
·先获取到提示信息的元素坐标点;
·想办法获取到前端中该元素的颜色属性值;
·最后通过获取的属性值与我们的预期值进行比较。
猛然一看该思路,啥用没有。但是我们可以先翻阅selenium中的官方文档,看看官方文档中有没有一些帮助内容。
安静从官方文档中找到了:
def value_of_css_property(self, property_name):
"""The value of a CSS property."""
return self._execute(Command.GET_ELEMENT_VALUE_OF_CSS_PROPERTY, {
'propertyName': property_name})['value']
该方法意思就是可以获取到元素的CSS的属性值。这不就解决了获取元素的颜色属性值了吗?
实战演示
安静这里随便找个网站先查看下错误提示信息的元素坐标,以及错误提示信息的字体颜色内容。
通过代码的形式查看下CSS的属性值是否和我们的预期一样。
from selenium import webdriver
import time
driver = webdriver.Chrome()
# 随便找了个经常逛的网站。
driver.get('https://passport.juhe.cn/cas/login')
# 输入账号名
driver.find_element_by_name('username').send_keys('12345')
# 输入密码
driver.find_element_by_id('password-o').send_keys('1111111')
# 点击登录
driver.find_element_by_id('loginBtn').click()
time.sleep(1)
# 获取提示字体信息
xx = driver.find_element_by_xpath('//*[@class="sysError"]').text
print(xx)
aa = driver.find_element_by_xpath('//*[@class="sysError"]')
# 获取该元素的CSS属性值
print(aa.value_of_css_property('color'))
通过执行后发现获取的CSS属性值基本上和我们在web页面上的一样,为啥说基本上呢,因为这web页面CSS区域显示的是rgba(254 ,81 , 74),没有1。
安静也不确定对不对,于是再次查看selenium中的官方文档,发现了selenium中有对字体颜色的标识内容。
从文档中可以看出来,可以对其颜色的格式内容进行转换,这样我们就可以来判断是否字体颜色是否正确。
from selenium import webdriver
import time
from selenium.webdriver.support.color import Color
driver = webdriver.Chrome()
# 随便找了个经常逛的网站。
driver.get('https://passport.juhe.cn/cas/login')
# 输入账号名
driver.find_element_by_name('username').send_keys('12345')
# 输入密码
driver.find_element_by_id('password-o').send_keys('1111111')
# 点击登录
driver.find_element_by_id('loginBtn').click()
time.sleep(1)
# 获取提示字体信息
xx = driver.find_element_by_xpath('//*[@class="sysError"]').text
print(xx)
aa = driver.find_element_by_xpath('//*[@class="sysError"]')
# 获取该元素的CSS属性值
print(aa.value_of_css_property('color'))
# 查看#fe514a格式的rgb格式
print(Color.from_string('#fe514a').rgba)
# 查看颜色的hex格式。
print(Color.from_string('rgba(254, 81, 74, 1)').hex)
通过执行后发现,颜色内容是一致的。
PS:这里的rgba和hex表示颜色的标识,其实hex是十六进制。
总结
安静简单地通过一个案例,演示了如何进行判断页面中的字体颜色。
在实践中也遇到了一些困难,通过查阅官方文档进行解决了,也学习了两个方法,一个是获取CSS属性,以及颜色的转换支持。所以说遇到问题不要着急,看看官方文档,说不定就有意外的收获。
好了,我是安静,感谢您的阅读。
**推荐一个「Python自动化测试学习交流群」给大家:
请关注+私信回复:"测试" 就可以免费拿到软件测试学习资料,同时进入群学习交流~~
猜你喜欢
- 2024-09-29 Tailwind CSS v3.0发布,升级引擎,增加颜色等
- 2024-09-29 CSS 多色正方形上升效果 #web前端
- 2024-09-29 适合前端新手浏览的六个网站,让你成为别人眼中的大佬
- 2024-09-29 一个神奇的色系搭配网站,UI设计风格任你随意搭配颜色
- 2024-09-29 一文讲解Web前端开发基础环境配置
- 2024-09-29 前端不哭 | 没有设计师的界面也要支棱起来
- 2024-09-29 web前端开发课-css背景-背景图像定位 #前端
- 2024-09-29 前端入门——css 渐变 前端渐变代码
- 2024-09-29 真正会穿衣的男人,都是这么搭配牛仔的,李现王一博就是最佳表率
- 2024-09-29 前端(echarts设置坐标轴区域中的分隔线颜色)
你 发表评论:
欢迎- 500℃几个Oracle空值处理函数 oracle处理null值的函数
- 494℃Oracle分析函数之Lag和Lead()使用
- 493℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 481℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 472℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 468℃【数据统计分析】详解Oracle分组函数之CUBE
- 453℃Oracle有哪些常见的函数? oracle中常用的函数
- 448℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Spring Boot跨域难题终结者:3种方案,从此告别CORS噩梦!
- 京东大佬问我,SpringBoot为什么会出现跨域问题?如何解决?
- 在 Spring Boot3 中轻松解决接口跨域访问问题
- 最常见五种跨域解决方案(常见跨域及其解决方案)
- Java Web开发中优雅应对跨域问题(java跨域问题解决办法)
- Spring Boot解决跨域最全指南:从入门到放弃?不,到根治!
- Spring Boot跨域问题终极解决方案:3种方案彻底告别CORS错误
- Spring Cloud 轻松解决跨域,别再乱用了
- Github 太狠了,居然把 "master" 干掉了
- IntelliJ IDEA 调试 Java 8,实在太香了
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)