Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.10.2017, 20:43
Профессор
Отправить личное сообщение для денис77447327 Посмотреть профиль Найти все сообщения от денис77447327
 
Регистрация: 03.09.2017
Сообщений: 172

не могу чисто логически сообразить
нужно чтобы скрипт кликнул по 100000 картинкам к примеру. но после клика по 25й картинке останавливался на 30 секунд , потом продолжал с 25й и так до 100000
var i;


window.scrollBy(0,5000);
if (i>0){i=i;for (i=i; i<100000; i++) {document.getElementsByClassName('_si7dy')[i].click();}
}

else for (i=0; i<100000; i++) {document.getElementsByClassName('_si7dy')[i].click();}

Последний раз редактировалось денис77447327, 02.10.2017 в 20:45.
Ответить с цитированием
  #2 (permalink)  
Старый 02.10.2017, 23:11
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

что тут сложного;
var i=0, img = document.querySelectorAll('img');
for(;i<=25; i++) img[i].click();

setTimeout(function(){
for(;i<=10000; i++) img[i].click();
},30000);
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2017, 00:33
Профессор
Отправить личное сообщение для денис77447327 Посмотреть профиль Найти все сообщения от денис77447327
 
Регистрация: 03.09.2017
Сообщений: 172

этот скрипт кликнет 25 картинок подождет 30 секунд и кликнет 100000 картинок. мне не это нужно
нужно чтобы 25 кликов 30 сек таймаут еще 25 и т. д.

Последний раз редактировалось денис77447327, 03.10.2017 в 00:36.
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2017, 05:53
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

денис77447327,
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  
  <script>
    
   (function foo(i, n, max) {
     var t = setInterval(function() {
        console.log(++i);
        if (max == i) {
          clearInterval(t);
          return;
        }
        if (i % n === 0) {
          clearInterval(t);
          setTimeout(function() {
             foo(i, n, max);
          }, 30000);
        } 
     }, 1000);
   })(0, 25, 100);

  </script>

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 03.10.2017, 17:02
Профессор
Отправить личное сообщение для денис77447327 Посмотреть профиль Найти все сообщения от денис77447327
 
Регистрация: 03.09.2017
Сообщений: 172

окей , этот скрипт работает! подскажите как сделать чтобы он вместо вывода переменной в консоль , кликал по картинке
пробовал вместо console.log(++i) вставлять document.getElementsByClassName('_si7dy')[i].click(); не работает
Ответить с цитированием
  #6 (permalink)  
Старый 03.10.2017, 17:20
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

денис77447327, попробуй метод "dispatchEvent".
Ответить с цитированием
  #7 (permalink)  
Старый 03.10.2017, 23:59
Профессор
Отправить личное сообщение для денис77447327 Посмотреть профиль Найти все сообщения от денис77447327
 
Регистрация: 03.09.2017
Сообщений: 172

не работает или я не так делаю. подскажите плиз
Ответить с цитированием
  #8 (permalink)  
Старый 04.10.2017, 00:10
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

document.getElementsByClassName('_si7dy')[i].dispatchEvent(new Event("click"));


так пробовали?
Ответить с цитированием
  #9 (permalink)  
Старый 04.10.2017, 00:32
Профессор
Отправить личное сообщение для денис77447327 Посмотреть профиль Найти все сообщения от денис77447327
 
Регистрация: 03.09.2017
Сообщений: 172

пробовал так не работает , но уже разобрался
(function foo(i, n, max) {
     var t = setInterval(function() {
        ++i;
document.getElementsByClassName('_si7dy')[i].click();
        if (max == i) {
          clearInterval(t);
          return;
        }
        if (i % n === 0) {
          clearInterval(t);
          setTimeout(function() {
             foo(i, n, max);
          }, 30000);
        } 
     }, 1000);
   })(0, 25, 100);
сейчас другая задача.. как после клика ждать 2 секунды скажем и выполнить вставку текста коменнта на изображении? функция внутри функции будет или как?
Ответить с цитированием
  #10 (permalink)  
Старый 04.10.2017, 00:36
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Можно внутри а можно и ссылку на функцию;
в строке 15 - 1000 исправить на 2000.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу сообразить как поменять скрипт spyrofunk jQuery 0 04.05.2016 10:05
Не могу выучить javascript. usertest Оффтопик 17 20.03.2016 08:33
не могу связать ссылку HTML Шынгыс (X)HTML/CSS 1 14.07.2014 13:52
[работа со строками] Спасайте.. не могу сообразить.. V2oD2o Общие вопросы Javascript 11 11.07.2012 15:02
Скрипт калькулятора (не могу добавить еще одно значение) Jee_Day Я не знаю javascript 2 22.05.2009 13:19