我一直无法弄清楚如何在 Chrome 中运行的 Netflix 视频播放器中进行视频搜索(自动前进到视频中的某个点)。 currentTime
属性可以读取但不能在 Netflix 播放器中设置,设置后会立即触发错误“哎呀!出了点问题。”。 播放 和暂停 等其他操作效果很好。例如,您可以尝试以下操作:
- 登录 Netflix(来自 Google Chrome)并观看电影 Armageddon .
- 电影加载后,如果开始播放则暂停。
- 打开 Chrome 开发者工具面板。转到“控制台”选项卡。
- 将以下代码片段粘贴到控制台并点击
<ENTER>
:
var video = document.evaluate('//*[@id="5670317"]/video',document).iterateNext()
注意:id 值特定于 Armageddon。如果您选择不同的电影,这很好,请根据该电影 URL 中的 ID 更改 ID。
- 输入以下内容,然后按
<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.seek
或 player.getCurrentTime
或 player.pause
等...
关于javascript - Chrome 中的 Netflix 视频播放器 - 如何寻找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42105028/