Как автоматически щелкнуть () динамически созданные элементы - PullRequest
0 голосов
/ 16 января 2020

Я понимаю, что вы можете привязать прослушиватель событий к динамическим c элементам, но я хочу, чтобы js автоматически щелкал их. Например, есть веб-страница с рядом всплывающих кнопок, я хочу автоматически нажимать на них, но каждая последующая кнопка загружается динамически, и поэтому я не могу сделать это просто.

Вот на что я надеялся будет работать (работает, если вы наберете его в консоли по одной строке за раз):

$(".begin").click().delay(200);

$(".answer[value='1']").click().delay(200);

$(".answer[value='10']").click().delay(200);

1 Ответ

1 голос
/ 16 января 2020

Если я не понимаю вашу проблему. Вы хотите нажать эти кнопки «когда-то», они существуют. Затем вы можете создать таймер после $('.begin') (здесь я предполагаю, что начинать - это запустить действие появления кнопки) и постоянно проверять эти кнопки и нажимать на них, как только они станут активными. Это будет выглядеть примерно так: setTimeInvertal(). И да, вам нужно создать собственное условие, чтобы остановить или определить, срабатывает ли триггер или нет.

Вы должны обнаружить их вручную, более быстрая проверка = один раз (я предполагаю, что вы не делаете что-то незаконно или злоупотребляете веб-сайтами). Приведенный ниже код является примером идеи.

var btn_timer;

function startAction() {
  //for example check every 3s
  btn_timer = setTimeout(function(){
  //check if btn exists or not
  if($(".answer[value='1']").length) {
     $(".answer[value='1']").click().delay(200);
  }
  
  //condition to stop your timer, or you can manually call it somewhere else; 
  if(...some condition) StopAction();
  
  }, 3000); 
}

function StopAction() {
  clearTimeout(btn_timer);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...