Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Рутинная автоматизация (https://javascript.ru/forum/misc/72913-rutinnaya-avtomatizaciya.html)

geekvar 06.03.2018 13:50

Рутинная автоматизация
 
Есть задача, которую уже некоторое время хотелось бы решить, но никак руки не доходили, да и знаний в этой области практически нет.
Суть задачи такая: есть сайт (сторонний) "тыкалка". На странице имеется кнопка (изображение) со ссылкой вида pokeliga.com/entlink/adopts/xp_share.php?player=id_игрока. id_игрока числовое значение в интервале скажем от 1 до 8999. Кнопка может иметь 2 состояния - used и available. В случае если кнопка в состоянии used (была нажата или нет доступных), то ее не нажать, поэтому нужно ее пропустить и искать состояние available.
Открывать в браузере 8999 вкладок это жесть, но можно ли как то автоматизировать все это дело в цикле, в котором происходит переход по ссылке, с последующим нажатием нужной кнопки на странице.
Если это дело возможно, хотелось бы узнать в каком направлении стоит двигаться, какие данные могут понадобиться для такой реализации. В идеале помог бы простенький пример.

j0hnik 06.03.2018 16:21

можно, юзерскриптом перебрать минут за 5.

geekvar 06.03.2018 18:47

Спасибо, пошел смотреть материалы по этой теме

Alexandroppolus 06.03.2018 19:03

если в конечном итоге вся задача сводится к отправке 8999 аяксовых запросов со страницы, то скрипт можно написать в блокноте и выполнить в консольке

geekvar 06.03.2018 21:40

На каждой странице будет производиться один запрос, страниц всего 8999

j0hnik 06.03.2018 21:45

Для этого подойдет document.location

geekvar 06.03.2018 22:13

В коде в качестве кнопки выступает изображение со ссылкой. Как у нее вызвать событие onclick()

j0hnik 06.03.2018 23:55

document.querySelector("селектор изображения").click();

geekvar 07.03.2018 01:28

Почти получилось. Но проблема с циклом.
var id;
var url  = "http://pokeliga.com/entlink/adopts/xp_share.php?player="
for (id = 1; id <= 10; id++) {
     document.location.href = url+id;
     var used = document.getElementsByClassName("xp_share available");
     if(used.length > 0){
          var elements = document.querySelectorAll(".xp_share img");
	  var src = elements[0].click();
     }
     else {
          break;
     }
}

Скрипт не идет дальше первой страницы и постоянно обновляется. Какие будут советы на этот счет?

j0hnik 07.03.2018 01:32

И не пойдет.
нужно получить текущий URL отрезать от него концовку прибавить к ней единицу и перейти по этому адресу.


Часовой пояс GMT +3, время: 08:17.