java h5 视频播放_selenium(java)处理HTML5的视频播放
大多数浏览器使用控件(如 Flash) 来播放规频,但是,不同的浏览器需要使用不同的插件。HTML5 定义了一个新的元素,,指定了一个标准的方式来嵌入电影片段。IE9+、Firefox、Opera、Chrome都支持该元素。
学习虫师的自动化测试selenium 的4.17节 《处理 HTML5 的视频播放》。但是无法运行该章节的demo,所以自己搞了一套。从HTML5写代码开始。
首先要保证环境可用
MP4视频在我本机装的火狐firefox浏览器不支持运行,索性使用chrome。之前写selenium脚本都是基于FirefoxDriver,所以需要下载ChromeDriver。需要注意,selenium版本+ChromeDriver版本+Chrome版本一定要匹配,不然会报错org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser。据说firefox的驱动还是selenium得人员开发的,而google的驱动是google内部人员开发的,兼容性欠佳。
具体版本匹配可以参考:
http://blog.csdn.net/xqhadoop/article/details/77892796
我目前使用的是selenium 2.49+chrome driver 2.31+chrome version 59
Chrome Driver下载完毕后,可以通过以下两种方法指定ChromeDriver位置:
1)通过配置ChromeDriver.exe位置到path环境变量实现。
2)通过webdriver.chrome.driver.系统属性实现。实现代码如下:
System.setProperty("webdriver.chrome.driver", "E:\\selenium\\chromedriver_win32\\chromedriver.exe");
WebDriver driver= new ChromeDriver();
准备工作完成,写一个最简单的打开浏览器的脚本试一下:
packagevideo;importorg.openqa.selenium.By;importorg.openqa.selenium.JavascriptExecutor;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.firefox.FirefoxDriver;public classVideo3 {public static void main(String[] args) throwsInterruptedException {
System.out.println("chrome driver");//ChromeDriver没有放在C盘,所以使用 System 的 setProperty()方法指定浏览器驱动的路径
System.setProperty("webdriver.chrome.driver", "E:\\selenium\\chromedriver_win32\\chromedriver.exe");
WebDriver driver= newChromeDriver();//打开浏览器
driver.get("http://www.baidu.com");
Thread.sleep(3000);
driver.quit();
}
}
在Chrome浏览器上顺利打开,说明驱动没有问题。
接下来准备html文档,先随便下载一个MP4格式的文件,存放在本地,此处存放的路径为E:/selenium/aaa.mp4
然后设置controls=“controls”,可控制播放暂停。存放这个html的路径为file:///C:/Users/Administrator/Desktop/video2.html
HTML5-video
您的浏览器不支持 video 属性。
最后基于myEclipse编写selenium脚本
Chrome浏览器可以使用自带的developer tools定位视频播放控件的xpath,具体方法可参考http://blog.csdn.net/mayanyun2013/article/details/72148734
WebElement video = driver.findElement(By.xpath("/html/body/video"));
完整代码:
packagevideo;importorg.openqa.selenium.By;importorg.openqa.selenium.JavascriptExecutor;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.firefox.FirefoxDriver;public classVideo2 {public static void main(String[] args) throwsInterruptedException {
System.out.println("chrome driver");//ChromeDriver没有放在C盘,所以使用 System 的 setProperty()方法指定浏览器驱动的路径
System.setProperty("webdriver.chrome.driver", "E:\\selenium\\chromedriver_win32\\chromedriver.exe");
WebDriver driver= newChromeDriver();//打开浏览器
driver.get("file:///C:/Users/Administrator/Desktop/video2.html");//定位视频播放控件
WebElement video = driver.findElement(By.xpath("/html/body/video"));
JavascriptExecutor jse=(JavascriptExecutor)driver;//获得视频的URL
jse.executeScript("return arguments[0].currentSrc", video);//播放视频,播放15秒
jse.executeScript("return arguments[0].play()", video);
Thread.sleep(15000);//暂停视频
jse.executeScript("arguments[0].pause()", video);
driver.quit();
}
}
JavaScript 函数有个内置的对象叫作 arguments。argument 对象包含了函数调用的参数数组,[0]表示取对象的第1个值。
currentSrc 熟悉返回当前音频/视频的 URL。如果未设置音频/视频,则返回空字符串。
load()、play()、pause() 等控制着视频的加载、播放和暂停。
---------------------
本文来自 ab_2016 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/ab_2016/article/details/78412520?utm_source=copy
java h5 视频播放_selenium(java)处理HTML5的视频播放相关推荐
- java h5 桌面应用_用HTML5打造本地桌面应用
本文作者html5tricks,转载请注明出处 在手机端,有一个非常棒的工具叫做PhoneGap,使用这个快速开发平台,任何人都可以使用HTML5+CSS3+JavaScript开发出安卓,iOS等应 ...
- selenium java po模式_selenium + java po模式
po模式大概介绍,大家也可以自己百度看看 Page Object模式主要是将每个页面设计为一个类class,这个类包含页面中需要测试的元素(按钮.输入框.URL.标题等)和实际操作方法,这样在写测试用 ...
- python 模拟浏览器播放视频_selenium+Python(处理html5的视频播放)
Webdriver支持在指定的浏览器测试HTML5,另外可以用JavaScript来测试这些功能,这样就可以在任何浏览器上测试HTML5 多数浏览器使用控件来播放视频,但是不同浏览器需要使用不同的插件 ...
- 谷歌浏览器java不能启动_selenium+java谷歌浏览器 网站打开不正常
1 上面是谷歌浏览器和chromedriver版本 2下面是代码 , 浏览器打开后,网站不能正常打开,控制台报空指针异常 package PDWYPT; import static org.junit ...
- selenium java api 中文_Selenium Java WebDriverAPI 接口操作
一.API代码实例 1.1 访问网址 @Test public void visitURL() { String baseUrl = "http://www.sogou.com"; ...
- java视频播放器制作_java创建简易视频播放器
java创建简易视频播放器 发布时间:2020-09-23 04:28:09 来源:脚本之家 阅读:98 作者:南柯一梦xihe 最近有个多媒体的作业,要求使用visualC++和OpenCV编写一个 ...
- 微信H5支付(基于Java实现微信H5支付)
微信的H5支付区别与APP支付,主要在于预下单(返回的参数不一样),其它大体相同(基本没什么区别,区别在于有些人加密喜欢用MD5有些人喜欢用官方提供的加密方式加密,我用的是官方的),贴一下H5支付预下 ...
- uni-app 接入银联H5支付(Java)思路代码
uni-app 接入银联H5支付(Java)思路代码 uni-app-web-view Java(后台部分代码)可以参考官方的Demo取代码 银联文档地址: H5支付. 第一次接触银联支付的话建议 跑 ...
- 支付宝h5支付(java版)
1.准备工作 支付宝开发api(手机网站支付):https://docs.open.alipay.com/api_1/alipay.trade.wap.pay 1.1.登录蚂蚁金服开放平台 https ...
最新文章
- 最全中文leetcode解题攻略:思路知识点代码...搞定AI大厂笔试
- 按键精灵 getcursorpos没有用_给你们想要的一键输出II按键精灵脚本开发教程
- 数模笔记_单变量最优化
- python布尔类型运算_Python bool类型和比较运算符(入门必读)
- 【Flink】Flink启动报错 BindException: Could not start rest endpoint on any port in port range 7089
- 使用Prometheus+grafana打造高逼格监控平台
- Linux登录的shell信息,Linux展示登录Shell信息
- springMVC之applicationcontext.xml配置说明
- plsqldev、oracle插入中文乱码问题解决
- 我的世界服务器无限箱子指令,我的世界功能就要这么多 箱子页面指令插件
- iis新建一个html文件路径,C#使用DirectoryEntry操作IIS创建网站和虚拟路径
- pdf转dwg为什么乱码
- flex布局文字溢出显示省略号失效的解决方法
- 华硕FX63VM笔记本bios如何设置U盘启动
- adt-bundle-mac android 模拟器 sd卡增加文件
- java计算机毕业设计在线交友系统2021源码+mysql数据库+系统+lw文档+部署
- 国信\教学课程\05.EL进阶:Object-Oriented-EasyLanguage-Concepts-By-Android-Marvin
- CAD中样条曲线Spline怎样才能分解成多段弧arc?
- 部署web项目在腾讯云当中
- 7 个支持敏捷的开源项目管理工具,更好地管理项目