2017-06-16 121 views
0

我想模擬用戶按下pagedown鍵 - 等待第二個(等待網頁顯示更多結果),模擬再次按下pagedown(等待網頁顯示更多)等。使用javascript向下滾動窗口

for(var s= 0;s< 5;s++){ 
window.scrollBy(0,500); // horizontal and vertical scroll increments 
setTimeout(function() {}, 1000); 
} 

它似乎只觸發一次頁面,很少/沒有延遲。

在繼續之前,我希望腳本在setTimeout處停止,並且不要執行其他任何操作。

任何意見將是巨大的,

謝謝,馬克

+0

這不是它的工作原理;你的'setTimeout()'會等待一秒鐘,然後調用你傳遞的空函數。在此之前,你已經到了循環的最後。如果你阻止了JS,你會阻止整個瀏覽器,所以我不會那樣做。 –

回答

2

我想你想是這樣的:

function scrollDown(num_times) { 
    num_times -= 1; 
    if (num_times === 0) { 
     return; 
    } 
    window.scrollBy(0,500); // horizontal and vertical scroll increments 
    setTimeout(function() { 
     scrollDown(num_times); 
    }, 1000); 
} 

scrollDown(5); // scroll down 5 times 

setTimeout功能需要得到你想要後執行功能延遲。

+0

非常感謝 - 完美的作品! –