Javascript отправить перед переходом к следующему шагу - PullRequest
0 голосов
/ 08 июня 2018

Я новичок в javascript, но обычно могу это сделать.В этом случае у меня возникла проблема с отправкой первой части кода перед выполнением следующей части кода.Идея состоит в том, чтобы вызвать щелчок, подождать 5 секунд, а затем вызвать щелчок следующего элемента в списке.Если я запускаю их по отдельности, по одному, это работает без проблем.Если я запускаю их вместе, как будто первый щелчок даже не происходит.Я работаю, чтобы смоделировать некоторые клики на досье MicroStrategy.Как только это сработает, я буду динамически перебирать все элементы div, подсчитывая их сначала.

Любая помощь / совет приветствуются.

var t1 = new Date();
var t2 = new Date();
var dif = 0;

//Click first element in the list
var n = "div.item[idx=\"0\"]";
$('div.scroll-container.mstrmojo-scrollNode').find(n).each(function(){
        $(this).trigger('click');   
            });

//wait  5 seconds
t2 = new Date();
        dif = t1.getTime() - t2.getTime();
            while(dif < 5000){
                t2 = new Date();
                dif = t2.getTime() - t1.getTime();  
            };

//Click second element in the list
var n = "div.item[idx=\"1\"]";
$('div.scroll-container.mstrmojo-scrollNode').find(n).each(function(){
        $(this).trigger('click');   
            });

1 Ответ

0 голосов
/ 08 июня 2018

JavaScript не будет ждать 5 секунд в вашем коде, прежде чем перейти к следующей части.Вы должны разместить второй щелчок внутри setTimeout:

setTimeout(function(){ 
    //Click second element in the list
    var n = "div.item[idx=\"1\"]";
    $('div.scroll-container.mstrmojo-scrollNode').find(n).each(function(){
        $(this).trigger('click');
    });
}, 5000);
...