selenium+Python(处理html5的视频播放)
Webdriver支持在指定的浏览器测试HTML5,另外可以用JavaScript来测试这些功能,这样就可以在任何浏览器上测试HTML5
多数浏览器使用控件来播放视频,但是不同浏览器需要使用不同的插件,HTML5定义了一个新元素video,指定了一个标准的方式来嵌入电影片段
下面以http://videojs.com(外部网站,内地访问会比较慢)的视频播放为例:
#coding=utf-8 from selenium import webdriver import time driver = webdriver.Firefox() 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) time.sleep(15) print("stop") driver.execute_script("return arguments[0].pause()",video) driver.quit()
JavaScript函数有个内置的对象叫做arguments,arguments队形包含了函数条用参数的数组,【0】表示
取对象的第一个值
currentSrc返回当前音频或者视频的URL,如果未设置音频或者视频地址,则返回空
load()、play()、pause()等控制着视频的加载、播放、暂停