Я создал три файла сценария для трех страниц для загрузки субтитров из ТВ-субтитров. net
Первый выполняется на странице сезона телешоу, где все перечислены эпизоды определенного сезона, а именно:
// ==UserScript==
// @name TV Show Page
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://www.tvsubtitles.net/tvshow-*
// @grant none
// @require http://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==
(function() {
'use strict';
$(document).ready(function() {
var epStart = 1,
epEnd = 5,
season = 1;
var epCount = (epEnd - epStart) + 1;
if (localStorage.getItem("epRemaining") === null) {
localStorage.setItem('epRemaining', epCount);
localStorage.setItem('currentEp', epStart);
if (parseInt(localStorage.epRemaining) < 10)
$('.left_articles #table5').find("td:contains('" + season + "x0" + parseInt(localStorage.currentEp) + "')").next().find('a')[0].click();
else
$('.left_articles #table5').find("td:contains('" + season + "x" + parseInt(localStorage.currentEp) + "')").next().find('a')[0].click();
} else {
if (parseInt(localStorage.epRemaining) != 0) {
if (parseInt(localStorage.epRemaining) < 10)
$('.left_articles #table5').find("td:contains('" + season + "x0" + parseInt(localStorage.currentEp) + "')").next().find('a')[0].click();
else
$('.left_articles #table5').find("td:contains('" + season + "x" + parseInt(localStorage.currentEp) + "')").next().find('a')[0].click();
} else {
console.log("Current EP " + localStorage.currentEp + "Episodes Remaining " + localStorage.epRemaining);
localStorage.clear();
}
}
});
})();
Во-вторых, я создал файл сценария, чтобы вызвать щелчок по первому элементу, указанному на странице, который появляется при нажатии на любой из эпизодов из первая страница. Это выглядит следующим образом:
// ==UserScript==
// @name Episode Middle Page
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://www.tvsubtitles.net/episode-*
// @grant none
// @require http://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==
(function() {
'use strict';
$(document).ready(function() {
$('.left_articles a[href^="/subtitle"]:first')[0].click();
});
})();
Наконец, я вызвал щелчок тега привязки и перенаправил на первую страницу после тайм-аута и обновил переменные трекера:
// ==UserScript==
// @name Subtitle Download
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://www.tvsubtitles.net/subtitle-*
// @grant none
// @require http://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==
(function() {
'use strict';
$(document).ready(function() {
console.log(localStorage.currentEp);
localStorage.currentEp = parseInt(localStorage.currentEp) + 1;
localStorage.epRemaining = parseInt(localStorage.epRemaining) - 1;
$('.left_articles a[href^="download"]').find('h3')[0].click();
setTimeout(function() {
$('.left_articles a[href^="tvshow-"]')[0].click();
}, 7000);
});
})();
Однако, хотя перенаправление страниц работает отлично и переменные счетчика также обновляются должным образом, загрузка происходит только для начального эпизода. Последующие эпизоды не загружаются. Может ли кто-нибудь помочь мне в этом? (образец ссылки на первую страницу: http://www.tvsubtitles.net/tvshow-1341-1.html)