大多数浏览器使用控件(如 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的视频播放相关推荐

  1. java h5 桌面应用_用HTML5打造本地桌面应用

    本文作者html5tricks,转载请注明出处 在手机端,有一个非常棒的工具叫做PhoneGap,使用这个快速开发平台,任何人都可以使用HTML5+CSS3+JavaScript开发出安卓,iOS等应 ...

  2. selenium java po模式_selenium + java po模式

    po模式大概介绍,大家也可以自己百度看看 Page Object模式主要是将每个页面设计为一个类class,这个类包含页面中需要测试的元素(按钮.输入框.URL.标题等)和实际操作方法,这样在写测试用 ...

  3. python 模拟浏览器播放视频_selenium+Python(处理html5的视频播放)

    Webdriver支持在指定的浏览器测试HTML5,另外可以用JavaScript来测试这些功能,这样就可以在任何浏览器上测试HTML5 多数浏览器使用控件来播放视频,但是不同浏览器需要使用不同的插件 ...

  4. 谷歌浏览器java不能启动_selenium+java谷歌浏览器 网站打开不正常

    1 上面是谷歌浏览器和chromedriver版本 2下面是代码 , 浏览器打开后,网站不能正常打开,控制台报空指针异常 package PDWYPT; import static org.junit ...

  5. selenium java api 中文_Selenium Java WebDriverAPI 接口操作

    一.API代码实例 1.1 访问网址 @Test public void visitURL() { String baseUrl = "http://www.sogou.com"; ...

  6. java视频播放器制作_java创建简易视频播放器

    java创建简易视频播放器 发布时间:2020-09-23 04:28:09 来源:脚本之家 阅读:98 作者:南柯一梦xihe 最近有个多媒体的作业,要求使用visualC++和OpenCV编写一个 ...

  7. 微信H5支付(基于Java实现微信H5支付)

    微信的H5支付区别与APP支付,主要在于预下单(返回的参数不一样),其它大体相同(基本没什么区别,区别在于有些人加密喜欢用MD5有些人喜欢用官方提供的加密方式加密,我用的是官方的),贴一下H5支付预下 ...

  8. uni-app 接入银联H5支付(Java)思路代码

    uni-app 接入银联H5支付(Java)思路代码 uni-app-web-view Java(后台部分代码)可以参考官方的Demo取代码 银联文档地址: H5支付. 第一次接触银联支付的话建议 跑 ...

  9. 支付宝h5支付(java版)

    1.准备工作 支付宝开发api(手机网站支付):https://docs.open.alipay.com/api_1/alipay.trade.wap.pay 1.1.登录蚂蚁金服开放平台 https ...

最新文章

  1. 最全中文leetcode解题攻略:思路知识点代码...搞定AI大厂笔试
  2. 按键精灵 getcursorpos没有用_给你们想要的一键输出II按键精灵脚本开发教程
  3. 数模笔记_单变量最优化
  4. python布尔类型运算_Python bool类型和比较运算符(入门必读)
  5. 【Flink】Flink启动报错 BindException: Could not start rest endpoint on any port in port range 7089
  6. 使用Prometheus+grafana打造高逼格监控平台
  7. Linux登录的shell信息,Linux展示登录Shell信息
  8. springMVC之applicationcontext.xml配置说明
  9. plsqldev、oracle插入中文乱码问题解决
  10. 我的世界服务器无限箱子指令,我的世界功能就要这么多 箱子页面指令插件
  11. iis新建一个html文件路径,C#使用DirectoryEntry操作IIS创建网站和虚拟路径
  12. pdf转dwg为什么乱码
  13. flex布局文字溢出显示省略号失效的解决方法
  14. 华硕FX63VM笔记本bios如何设置U盘启动
  15. adt-bundle-mac android 模拟器 sd卡增加文件
  16. java计算机毕业设计在线交友系统2021源码+mysql数据库+系统+lw文档+部署
  17. 国信\教学课程\05.EL进阶:Object-Oriented-EasyLanguage-Concepts-By-Android-Marvin
  18. CAD中样条曲线Spline怎样才能分解成多段弧arc?
  19. 部署web项目在腾讯云当中
  20. 7 个支持敏捷的开源项目管理工具,更好地管理项目

热门文章

  1. 抖音算法推荐机制详解!(科普向)
  2. 怎么修改证件照尺寸?这个方法可以轻松修改
  3. Pinbox使用感受
  4. 从从协方差的误差椭圆到PCA
  5. android开发 问卷调查案例_安卓 问卷调查Demo 原生代码
  6. 【excel】隔行引用另一表中连续数据
  7. hexo页脚添加访客人数和总访问量
  8. Linux安全防护【云锁】
  9. 《让子弹飞》系列——张麻子的斗争策略
  10. 如何在 Unity 中制作一个道具系统