webdriver高级应用- 在HTML5的画布元素上进行绘画操作
#encoding=utf-8
import unittest
from selenium import webdriver
import time class TestDemo(unittest.TestCase):
def setUp(self):
# 获取浏览器驱动实例
self.driver = webdriver.Ie(executable_path = "e:\\IEDriverServer") def test_HTML5Canvas(self):
url = "http://www.w3school.com.cn/tiy/loadtext.asp?f=html5_canvas_line"
# 访问指定的网址
self.driver.get(url)
# 调用JavaScript语句,在页面画布上画一个红色的图案
# getElementById('myCanvas'); 语句获取页面上的画布元素
# var cxt = c.getContext('2d'); 设定画布为2d
# cxt.fillStyle = '#FF0000'; 设定填充色为 # FF0000 红色
# cxt.fillRect(0, 0, 150, 150); 在画布上绘制矩形
self.driver.execute_script("var c = document.getElementById('myCanvas');"
+ "var cxt=c.getContext('2d');"
+ "cxt.fillStyle='#FF0000';"
+"cxt.fillRect(0,0,150,150);")
time.sleep(3)
# 将绘制的红色矩形页面,进行截屏,并保存为E盘的HTML5Canvas.jpg
self.driver.save_screenshot("E:\\HTML5Canvas.jpg") def tearDown(self):
# 退出浏览器
self.driver.quit() if __name__ == '__main__':
unittest.main()
webdriver高级应用- 在HTML5的画布元素上进行绘画操作的更多相关文章
- selenium如何操作HTML5的画布canvas上的元素
话不多少,上图如下,下图红色框内是一个html5的画布,我们要像操作右上角的保存和数据视图的时候是无法公共selenium的普通定位操作到的,那该怎么办呢? 我们先new一个Selenium的acti ...
- webdriver高级应用- 测试HTML5语言实现的视频播放器
能够获取HTML5语言实现的视频播放器,视频文件的地址.时长,控制播放器进行播放或暂停播放等操作. #encoding=utf-8 import unittest from selenium impo ...
- WebDriver高级应用实例(10)
10.1控制HTML5语言实现的视频播放器 目的:能够获取html5语言实现的视频播放器视频文件的地址.时长.控制进行播放暂停 被测网页的网址: http://www.w3school.com.cn/ ...
- HTML5 总结-画布-4
HTML5 画布 创建 Canvas 元素 向 HTML5 页面添加 canvas 元素. 规定元素的 id.宽度和高度: <canvas id="myCanvas" wid ...
- HTML5 Canvas(画布)实战编程初级篇:基本介绍和基础画布元素
欢迎大家阅读HTML5 Canvas(画布)实战编程初级篇系列,在这个系列中,我们将介绍最简单的HTML5画布编程.包括: 画布元素 绘制直线 绘制曲线 绘制路径 绘制图形 绘制颜色,渐变和图案 绘制 ...
- HTML5 Canvas 画布
一.Canvas是什么? canvas,是一个画布,canvas元素用于在网页上绘制图形. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. 二.创建Canvas元素 加上基本的属 ...
- Selenium WebDriver高级用法
Selenium GitHub地址 选择合适的WebDrvier WebDriver是一个接口,它有几种实现,分别是HtmlUnitDrvier.FirefoxDriver.InternetExplo ...
- Selenium WebDriver高级应用
WebDriver高级应用 public class Demo4 { WebDriver driver; // @BeforeMethod:在每个测试方法开始运行前执行 @BeforeMethod p ...
- 利用HTML5 的Datalist 元素实现输入提示
HTML5有无限可能,总是在释出一些新鲜实用的功能,让原生的web环境更加炫酷. 今天看到datalist 这个元素,可以用来预先定义一个输入框的潜在选项,也就是我们在平时项目中经常用jQuery插件 ...
随机推荐
- Canvas基本绘画学习
学好Canvas,从简单开始.下面是一些Canvas入门最基本的实例分享: <!DOCTYPE html> <html> <head lang="en" ...
- xml文件读取
xml文件如下: <annotation> <folder>bnrc</folder> <filename>jena_000000_000019_lef ...
- java abstraction and encapsulation
How is Abstraction different from Encapsulation? Abstraction happens at class level design. It resul ...
- 因 URL 意外地以“/HelloWorld”结束,请求格式无法识别。
web.config文件中的 <system.web> 节点下加入:<webServices> <protocols> <add name ...
- Bootstrap 下拉菜单(dropdown)插件
使用下拉菜单的插件,您可以向任何组件(比如:导航栏,标签页,胶囊式导航,按钮)添加下拉菜单 用法 您可以切换下拉菜单(dropdown)插件隐藏内容 1.通过data属性,向链接或按钮添加data-t ...
- 文件下载(NSURLConnection/NSURLSession)
最基本的网络文件下载(使用原生的网络请求) #pragma mark - 小文件下载 // 方法一: NSData dataWithContentsOfURL - (void)downloadFile ...
- vue 点击下拉框
data: { hide:false, zhi:"全部" }, <div class="item"> <div class="c2c ...
- 洛谷 1486/BZOJ 1503 郁闷的出纳员
1503: [NOI2004]郁闷的出纳员 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 13866 Solved: 5069[Submit][Stat ...
- 深入理解 hashcode 和 hash 算法
深入理解 hashcode 和 hash 算法 2017年12月30日 23:06:07 阅读数:5197 标签: hashhashmaphashcode二进制 更多 个人分类: jdk-源码 ht ...
- JWT的使用流程
JWT的实现原理 一篇文章告诉你JWT的实现原理 发布于 3 个月前 作者 axetroy 3097 次浏览 来自 分享 在使用 JWT 的时候,有没有想过,为什么我们需要 JWT?以及它的工作原理是 ...