Selenium 高亮显示操作元素
一、代码
使用 https://www.cnblogs.com/TSmagic/p/16595168.html 此篇代码即可
二、编辑 test_ys_case.py 文件
# coding=utf-8
import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
class TS_baidu(unittest.TestCase):
'''博客园Demo'''
@classmethod
def setUpClass(self):
self.imgs = [] # 初始化截图列表
self.driver = webdriver.Chrome()
self.driver.maximize_window()
def get_screenshot(self): # 截图函数
self.imgs.append(self.driver.get_screenshot_as_base64())
return True
def highLightElement(self, element):
# 封装好的高亮显示页面元素的方法
# 使用JavaScript代码将传入的页面元素对象边框颜色
# 2次循环,边框颜色分别设置为黑色和红色,中间停留1秒,产生闪烁效果
for i in range(0, 2):
self.driver.execute_script("arguments[0].setAttribute('style', arguments[1]);", element,
"border: 5px solid black;")
sleep(1.5)
self.driver.execute_script("arguments[0].setAttribute('style', arguments[1]);", element,
"border: 5px solid red;")
# 恢复元素
sleep(1)
self.driver.execute_script("arguments[0].setAttribute('style', arguments[1]);", element, "")
def test_a_opurl(self):
'''测试用例 1 打开网址'''
try:
self.driver.get("https://www.baidu.com")
print("打开网址成功")
self.get_screenshot() # 截图
except:
print("打开网址失败")
def test_b_input(self):
'''测试用例 2 输入搜素内容'''
try:
self.driver.find_element(By.ID, "kw").send_keys("请看右侧的 → 按钮边框")
print("输入搜索内容成功")
self.get_screenshot() # -
except:
print("输入搜索内容失败")
def test_c_clbutton(self):
'''测试用例 3 点击百度一下按钮'''
try:
ele = self.driver.find_element(By.ID, "su")
self.highLightElement(element=ele)
ele.click()
print("点击按钮成功")
sleep(2)
self.get_screenshot() # -
self.driver.quit()
except:
print("点击按钮失败")
三、效果

to be continued...
Selenium 高亮显示操作元素的更多相关文章
- selenium高亮显示操作步骤方法
package com.allin.pc;import java.util.List;import org.openqa.selenium.WebElement;import org.openqa.s ...
- python+selenium高亮显示正在操作的页面元素
原文地址:https://blog.csdn.net/wxstar8/article/details/80801405 from selenium import webdriver import un ...
- js操作:selenium无法操作隐藏元素问题
对于前端隐藏元素,一直是selenium自动化定位元素的隐形杀手,脚本跑到隐藏元素时位置时报各种各样的错误, 隐藏的下拉菜单又没有办法避免,此帖只为交流隐藏元素自动化定位处理方法(3种操作) ...
- selenium怎么操作web页面常见的元素
总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...
- 自动化测试-8.selenium操作元素之键盘和鼠标事件
前言 在前面的几篇中重点介绍了一些元素的定位方法,定位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...
- Python+Selenium学习--窗口切换及操作元素
场景 有时候我们在测试一个web 应用时会出现多个浏览器窗口的情况,在selenium1.0 中这个问题比较难处理.webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的 ...
- selenium在操作隐藏元素时会报错,怎么判断元素是隐藏的?
首先页面元素隐藏有五种方法: 1. opacity: 0; opacity 属性的意思是设置一个元素的透明度.它不是为改变元素的边界框(bounding box)而设计的.这意味着将 opacity ...
- 【Selenium专题】高亮显示页面元素
高亮显示页面元素主要用到Selenium中使用js的知识点,最常用的是检查元素定位是否正确.此外,实现js的调用大大增强了Selenium的功能.以下是调试通过的案例: import org.open ...
- Selenium入门6 操作元素,获取元素属性
取元素的text,属性get_attribute,标签名tag_name 操作元素:send_keys输入,click点击,submit提交,clear清除输入 状态判断:is_display,is_ ...
- Selenium(八):其他操作元素的方法、冻结界面、弹出对话框、开发技巧
1. 其他操作元素的方法 之前我们对web元素做的操作主要是:选择元素,然后点击元素或者输入字符串. 还有没有其他的操作了呢?有. 比如:比如鼠标右键点击.双击.移动鼠标到某个元素.鼠标拖拽等. 这些 ...
随机推荐
- 对深度学习中全连接层、卷积层、感受野、1×1卷积、池化层、softmax层、全局平均池化的一些理解
1.全连接层 在卷积神经网络中,在多个卷积层和池化层后,连接着1个或1个以上的全连接层,全连接层把卷积层和池化层提取出来的所有局部特征重新通过权值矩阵组装成一个完整的图,因为用到了所有的局部特征,所以 ...
- 单向链表&有关类和对象
// Test515.cpp: 定义控制台应用程序的入口点.// #include "stdafx.h"#include <iostream>using namespa ...
- zyb
- MFS分布式存储特性及组件说明
1.MFS MooseFS是一个具有冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本,然而对于访问MFS的客户端或者用户来说,整个分布式 ...
- 网络基础-分层思想和TCP/TP协议族
一 .分层思想 首先,什么是分层?1984年国际标准化组织(iso)颁布了开放系统互联(osi)参考模型:一个开放式体系结构,将网络分成七层. 分层 功能 应用层 网络服务与最终用户的一个接口 表示层 ...
- SpringBoot之基于idea搭建ssm(maven)
此次目标为搭建一个简单的基于springboot的ssm(spring + springmvc + mybatis)的maven项目,使用的数据库为mysql. 最终项目目录结构 创建过程 1.项目创 ...
- 【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
问题描述 使用Azure Kubernetes服务(AKS),可以通过kubectl连接 pod 中查看日志,但是如何来查看节点的系统日志呢?如是否有ubuntu系统升级的记录? 问题解答 是的,可以 ...
- ElasticSearch可视化工具ElasticHD安装
ElasticHD两种安装方式 1.ElasticHD介绍 ElasticHD 支持 ES监控.实时搜索,Index template快捷替换修改,索引列表信息查看, SQL converts to ...
- C++/Qt网络通讯模块设计与实现(四)
在C++/Qt网络通讯模块设计与实现(三)中提到了一个概念,即接受者所依附的线程:关注我微信公众号的技术朋友留言对该概念还是不解,这节就单独讲述这个概念的理论与实际应用,这种应用无处不在,因为与Qt的 ...
- 实现一个CRDT工具库——LWWReg
LWWReg LWW Register是一种数据结构,用于存储一个值和一个时间戳,支持读取和写入操作.在写入时,如果新的时间戳比原来的时间戳更大,那么就更新值和时间戳:在读取时,直接返回当前的值.这个 ...