javascript - Chrome 中的 Netflix 视频播放器 - 如何寻找?

标签 javascript javascript-objects dom-events video-player netflix

我一直无法弄清楚如何在 Chrome 中运行的 Netflix 视频播放器中进行视频搜索(自动前进到视频中的某个点)。 currentTime属性可以读取但不能在 Netflix 播放器中设置,设置后会立即触发错误“哎呀!出了点问题。”。 播放暂停 等其他操作效果很好。例如,您可以尝试以下操作:

  1. 登录 Netflix(来自 Google Chrome)并观看电影 Armageddon .
  2. 电影加载后,如果开始播放则暂停。
  3. 打开 Chrome 开发者工具面板。转到“控制台”选项卡。
  4. 将以下代码片段粘贴到控制台并点击 <ENTER> :

var video = document.evaluate('//*[@id="5670317"]/video',document).iterateNext()

注意:id 值特定于 Armageddon。如果您选择不同的电影,这很好,请根据该电影 URL 中的 ID 更改 ID。

  1. 输入以下内容,然后按 <Enter> : video.play() .观察视频是否恢复播放。

很简单,但是如何让视频自动前进到视频中的特定点呢?您可能需要引用 this doc .显然,您可以通过从左向右拖动视频播放器 slider 并将其释放到某个位置来手动搜索。您可能希望发现执行此操作时调用了哪个方法或事件,并对其进行模拟。到目前为止我还没有运气。

有什么想法吗?

最佳答案

看起来 netflix 改变了播放器 api。这是我发现的:

const videoPlayer = netflix
  .appContext
  .state
  .playerApp
  .getAPI()
  .videoPlayer

// Getting player id
const playerSessionId = videoPlayer
  .getAllPlayerSessionIds()[0]

const player = videoPlayer
  .getVideoPlayerBySessionId(playerSessionId)

现在您可以使用完整的播放器 API。 例如 player.seekplayer.getCurrentTimeplayer.pause 等...

关于javascript - Chrome 中的 Netflix 视频播放器 - 如何寻找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42105028/

相关文章:

javascript - 转换时间 00 :30:20 format to string

javascript - jquery 将 li 元素添加到数组

JavaScript 对象 indexOf,返回父位置?

javascript - 根据动态生成的另一个对象的属性计算对象属性值的总和

javascript - 如何使用JS或jQuery来触发React 16的模拟更改和输入事件?

javascript - Alt-s Firefox 中的 Javascript 事件处理程序 : How?

javascript - UIWebview内容根据webview框架

javascript - 访问具有动态名称和动态嵌套级别的对象属性

java - 如何在点击vaadin中的链接时设置值

javascript - 代码在控制台上运行正确,但在实际代码中运行不正确