模仿通过Python中的Selenium使用的PhantomJS上的HTML5视频支持

我正在尝试提取视频标记中的HTML5视频的源链接.使用Firefox webdrive,我能够获得所需的结果,即 –

[<video class="video-stream html5-main-video" src='myvideoURL..'</video>]

但如果我使用PhantomJS –

 <video class="video-stream html5-main-video" style="width: 854px; height: 480px; left: 0px; top: 0px; -webkit-transform: none;" tabindex="-1"></video>

我怀疑这是因为PhantomJS缺乏HTML5视频支持.反正我是否可以欺骗网页认为支持HTML5视频以便生成URL?或者我可以做点别的吗?

试过这个

try:

    webdriverwait(browser,10).until(EC.presence_of_element_located((By.XPATH, "//video")))


finally:


    k = browser.page_source


    browser.quit()


soup = BeautifulSoup(k,'html.parser')


print (soup.find_all('video'))

解决方法:

Firefox和phantomjs webdrivers与Selenium通信的方式完全不同.

使用Firefox时,它会在加载一些javascript之后发回信号表明该页面已完成加载

在phantomjs中不同,它向Selenium发出信号,表示页面已经完成加载,只要它能够获取页面源,这意味着它不会加载任何javascript.

提取元素之前,你需要做的是Wait元素,在这种情况下它将是:

video = webdriverwait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//video")))

编辑:

Youtube首先检查浏览器是否支持视频内容,然后再决定是否提供源,这是一个解决方法虽然描述了here

相关文章

转载地址:https://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...