一、处理HTML5的视频播放

大多数浏览器使用控件(如Flash)来播放视频,但是,不同的浏览器需要使用不同的插件。HTML5定义了一个新的元素<video>,指定了一个标准的方式来嵌入电影片段。

#test_video.py
# -*- coding: utf-8 -*- from selenium import webdriver
from time import sleep driver=webdriver.Chrome()
driver.get("https://videojs.com/") video=driver.find_element_by_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) driver.quit()

javaScrip函数有个内置的对象叫做arguments。argument对象包含了函数调用的参数数组
currentSrc熟悉返回当前音频/视频的URL。如果未设置音频/视频,则返回空字符串。
load()、play()、pause()等控制着视频的加载、播放和暂停。

Selenium 2自动化测试实战22(处理HTML5的视频播放)的更多相关文章

  1. Selenium 2自动化测试实战

    Selenium 2自动化测试实战 百度网盘 链接:https://pan.baidu.com/s/1aiP3d8Y1QlcHD3fAlEj4sg 提取码:jp8e 复制这段内容后打开百度网盘手机Ap ...

  2. Selenium 2自动化测试实战3(函数、类和方法)

    一.函数.类和方法1.函数在python中通过def关键字来定义函数 创建一个add()函数,此函数接收两个参数a,b,通过print()打印a+b的结果.调用add()函数,并且上传两个参数3,5给 ...

  3. 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

    虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...

  4. Selenium 与自动化测试 —— 《Selenium 2 自动化测试实战》读书笔记

    背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习.所以本文几乎没有实践内容,大多都是概念和工 ...

  5. Selenium+Python自动化测试实战(2)元素定位

    1.Selenium2 的原理 第一篇分享简单介绍了基于Python开发的Selenium2的环境配置,这篇主要讲一下基本用法.首先讲一下Selenium2的基本原理.基本上知道了这个东西是怎么回事, ...

  6. Selenium 2自动化测试实战39(Page Object设计模式)

    Page Object设计模式 Page object是selenium自动化测试项目开发时间的最佳设计模式之一,主要体现在对界面交互细节的封装. 1.认识page object优点如下:1.减少代码 ...

  7. Selenium 2自动化测试实战35(HTML测试报告)

    HTML测试报告 显然,一份漂亮的测试报告展示自动化测试成果只有一个简单的log文件是不够的.HTMLTestRunner是python标准库unittest单元测试框架的一个扩展,它生成易于使用的H ...

  8. Selenium 2自动化测试实战34(编写Web测试用例)

    编写Web测试用例 1.介绍了unittest单元测试框架,其主要是来运行Web自动化测试脚本.简单的规划一下测试目录:web_demo1/------test_case/------------te ...

  9. Selenium 2自动化测试实战25(自动化测试模型)

    一.自动化测试模型 自动化测试模型介绍:线性测试.模块化驱动测试.数据驱动测试和关键字驱动测试 线性测试:每个测试脚本相对独立,且不产生其他依赖与调用,只是单纯的来模拟用户完整的操作场景.模块化驱动测 ...

随机推荐

  1. 07-【jsp基本了解】

    jsp 动态网页技术:服务器和用户交互的动态网页技术jsp[java server page ]jsp ≍ html +servletjsp 文件是以 *.jsp结尾:jsp文件 靠服务器运行,jsp ...

  2. Linux Shell Web超级终端工具shellinabox

    Shell是Linux内核应用程序,是指“为使用者提供操作界面”的软件,也是命令解析器,它类似于Windows操作系统DOS下的cmd.exe应用程序.它接收用户命令,然后调用相应的应用程序,用户一般 ...

  3. STM32输出比较模式

    搜索好久,各种文章良莠不齐,转载以下几篇 http://www.eeworld.com.cn/mcu/article_2016101130334.html(输出比较冻结模式) http://www.e ...

  4. Hadoop_09_HDFS 的 NameNode工作机制

    理解NameNode的工作机制尤其是元数据管理机制,以增强对HDFS工作原理的理解,及培养hadoop集群运营中“性能调优” “NameNode”故障问题的分析解决能力 1.NameNode职责: H ...

  5. deepin禁用笔记本自带键盘

    参考命令: sudo apt install xinput xinput xinput list-props 'AT Translated Set 2 keyboard' xinput set-pro ...

  6. jQuery.ajaxSetup 全局设置ajax的header等配置信息

    描述: 设置 AJAX 请求默认地址为 "/xmlhttp/",禁止触发全局 AJAX 事件,用 POST 代替默认 GET 方法.其后的 AJAX 请求不再设置任何选项参数. j ...

  7. java中用activiti插件连接mysql数据库,自动建表过程中,在配置mysql架包路径“org.activiti.engine.ActivitiException: couldn't check if tables “

    java中用activiti插件连接mysql数据库,出现错误: org.activiti.engine.ActivitiException: couldn't check if tables are ...

  8. Access数据库LIKE问题

    access里like的通配符用法是这样:“?”表示任何单一字符: “*”表示零个或多个字符: “#”表示任何一个数字 有时候用%作为通配符不行,需要用*号作为通配符select * from tab ...

  9. Thinkphp清除缓存文件

    Thinkphp的缓存在开发中是非常烦人的,因为有的时候因为缓存的问题而出现的错误是非常难找的.删除缓存更是麻烦,还要去文件夹下删除.如果是linux开发服务器的话还要登陆服务器进行删除.所以这个时候 ...

  10. python+Appium自动化:Appium元素检测

    appium模拟用户的真实操作,如果用户第一次进入app或许会弹出一些更新提示,或者是引导页面,但是下一次开启app时则没有引导页这些界面,这时,脚本中又肯定不考虑用两套代码来进行维护,此时如何应对这 ...