(二十九)WebDriver API之处理HTML5的视频播放

随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  学习selenium自动化之前,最好先学习HTML、CSS、JavaScript等知识,有助于理解定位及操作元素的原理。关于python和selenium安装请自行搜索别的资料,

这里就不多做介绍了,所有例子均使用python3.6+selenium执行的。

#------------------------------------------------我是可耻的分割线-------------------------------------------

 

  目前HTML5技术已渐渐成为主流,主流的浏览器都已支持HTML5。越来越多的应用使用了HTML5的元素,如canvasvideo等,另外网页存储功能更增加了用户的网络体验,使得越来越多的开发者在使用这样的标准,所以我们也需要学习如何使用自动化技术来测试它们。

  WebDriver支持在指定的浏览器上测试HTML5,另外,我们还可以使用JavaScript来测试这些功能,这样就可以在任何浏览器上测试HTML5了。

  大多数浏览器使用控件(如Flash)来播放视频,但是,不同的浏览器需要使用不同的插件。HTML5定义了一个新的元素<video>,指定了一个标准的方式来嵌入电影片段,IE9+FirefoxOperaChrome都支持该元素。如下图。http://html5video-player.com/

 

 

 

  在本节中,我们将探索如何自动化测试<video>,该元素提供了JavaScript接口和多种方法及属性。

 

from selenium 

 

 

 

复制代码
from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get('http://videojs.com/')

video = driver.find_element_by_xpath("//*[@id='preview-player_html5_api']")

#返回播放文件地址
url = driver.execute_script("return arguments[0].currentSrc;",video)
print(url)

#播放视频
print('start')
driver.execute_script("return arguments[0].play();",video)

#播放15秒
sleep(15)

#暂停视频
print('stop')
driver.execute_script("arguments[0].pause();",video)
复制代码

  JavaScript函数有个内置的对象叫做argumentsArguments对象包含了函数调用的参数组,[0]表示取对象的第一个值。

  currentSrc熟悉返回当前音频/视频的URL。如果未设置音频/视频,则返回空字符串。Load()play()pause()等控制着视频的加载、播放、暂停。

 

posted @   李荣洋  阅读(299)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示