我需要通过 Selenium WebDriver 可靠地捕获播放列表中视频的结尾。播放列表的工作方式如下:ad - >短视频 - >广告 - >另一个视频 - > .... 我需要检测第n个视频何时结束。
从技术上讲,它可以是任何播放器:JW8,VideoJS或任何其他播放器,所以我更喜欢通用的解决方案,而无需支持每个播放器及其API。每个视频都作为HTML5视频提供。在投放下一个短视频时,src
标记的<video>
属性会发生变化。
到目前为止,我这样做:
_helper.StartVideoPlayback(Constants.START_PLAYBACK_XPATH);
WebElement player = _seleniumWebDriver.findElement(By.xpath(videoxPath));
//wait for the video to play
_webDriverWait.until(ExpectedConditions.stalenessOf(player));
其功能与Chrome中的魅力相似:当视频结束时,相应的WebElement
变得陈旧。
然而,Safari只是继续播放播放列表。
所以我的问题基本上是双重的:
src
已更改的视频是同一个元素?