-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathNetfilx Marathon.user.js
133 lines (127 loc) · 5.01 KB
/
Netfilx Marathon.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// ==UserScript==
// @name Netflix Marathon
// @namespace https://greasyfork.org/en/scripts/30029-netflix-marathon
// @version 2.7
// @description Automatically skip recaps, intros and click nexts on Netflix, DisneyPlus and Amazon video for you.
// @author ran
// @include https://www.netflix.com/*
// @include https://www.amazon.com/gp/video/*
// @include https://www.amazon.de/gp/video/*
// @include https://www.amazon.*/gp/video/*
// @include https://www.amazon.*/gp/product/*
// @include https://primevideo.com/region/*/detail/*
// @include https://*.primevideo.com/region/*/detail/*
// @include https://primevideo.com/detail/*
// @include https://*.primevideo.com/detail/*
// @include https://*.primevideo.com/*
// @include https://www.peacocktv.com/watch/*
// @include https://www.disneyplus.com//video/*
// @include https://www.disneyplus.com/*/video/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js
// @grant none
// @license MIT
// ==/UserScript==
var count = 0;
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function find() {
if (count === 0) {
if (document.getElementsByClassName('skip-credits').length !== 0 && document.getElementsByClassName('skip-credits-hidden').length == 0) {
//console.log('Found credits.');
await sleep(200);
document.getElementsByClassName('skip-credits')[0].firstElementChild.click();
await sleep(200);
document.querySelector('.button-nfplayerPlay').click();
count = 80;
//console.log('Found credits. +4s');
//window.clearInterval(intervalId);
}
else if (document.getElementsByClassName('postplay-still-container').length !== 0) {
//console.log('Found autoplay.');
document.getElementsByClassName('postplay-still-container')[0].click();
count = 5;
}
else if (document.getElementsByClassName('WatchNext-still-container').length !== 0) {
//console.log('Found autoplay.');
document.getElementsByClassName('WatchNext-still-container')[0].click();
count = 5;
}
else if (document.getElementsByClassName('countdown').length !== 0) {
//console.log('Found Amazon video next.');
document.getElementsByClassName('countdown')[0].click();
count = 5;
}
else if (document.getElementsByClassName('adSkipButton').length !== 0) {
//console.log('Found Amazon skip ad.');
document.getElementsByClassName('adSkipButton')[0].click();
count = 5;
}
else if (document.getElementsByClassName('skipElement').length !== 0) {
//console.log('Found Amazon skip intro.');
document.getElementsByClassName('skipElement')[0].click();
count = 5;
}
else if (document.getElementsByClassName('playback-controls__skip--button').length !== 0) {
//console.log('Found peacock skip intro.');
document.getElementsByClassName('playback-controls__skip--button')[0].click();
count = 5;
}
else if (document.getElementsByClassName('PlayerControlsNeo__layout PlayerControlsNeo__layout--dimmed').length !== 0) {
document.getElementsByClassName('interrupter-actions')[0].firstChild.click();
count = 80;
}
else if (document.getElementsByClassName('skip__button').length !== 0) {
// skips recaps and intros on disneyplus
document.getElementsByClassName('skip__button')[0].firstChild.click();
count = 5;
}
else if (document.getElementsByClassName('video_view--mini').length !== 0) {
// auto plays next episode on disneyplus
//console.log('Found autoplay.');
document.querySelector('*[data-testid="up-next-play-button"]').click();
count = 5;
}
else if (document.getElementsByClassName('atvwebplayersdk-skipelement-button').length !== 0) {
//console.log('Found Amazon imdb skip intro.');
document.getElementsByClassName('atvwebplayersdk-skipelement-button')[0].click();
count = 5;
}
if ($("div div:contains('Skip')").length !== 0) {
// amazon trailers
var badDivs = $("div div:contains('Skip')");
for (i = 0; i < badDivs.length; i++) {
if (badDivs[i].innerText == "Skip") {
badDivs[i].click();
count = 5;
}
}
}
if ($("div div:contains('Skip Intro')").length !== 0) {
// amazon intro
var badDivs = $("div div:contains('Skip Intro')");
//console.log(badDivs);
for (i = 0; i < badDivs.length; i++) {
if (badDivs[i].innerText == "Skip Intro") {
badDivs[i].click();
count = 5;
}
}
}
if ($("div div:contains('Skip Recap')").length !== 0) {
// amazon recap
var badDivs = $("div div:contains('Skip Recap')");
//console.log(badDivs);
for (i = 0; i < badDivs.length; i++) {
if (badDivs[i].innerText == "Skip Recap") {
badDivs[i].click();
count = 5;
}
}
}
}
else {
count--;
}
}
var intervalId = window.setInterval(find, 300);