В вашем коде есть некоторые проблемы с реализацией, я имею в виду, что вы неправильно обрабатываете Promise
s и не увеличиваете значение 400
в window.scrollTo(0,400);
.
И вы используете sleep()
в then (), поэтому ниже приведен код, который я пробовал на основе вашего кода, и он полностью работает нормально, поэтому измените свой код соответствующим образом и попробуйте выполнить:
// Declaring driver
var driver = null;
// Funtion to perform scroll
async function scrollToElement(xValue, yValue) {
await driver.executeScript('window.scrollTo('+xValue+', '+yValue+');')
}
// Function which passes counter to a scrolling function and waits 2 seconds before doing the scroll
async function doScroll() {
// Initializing the driver
driver = await browser.setup('chrome');
// Launching the chrome and navigating to google.com
await driver.get('http://www.google.com');
// Searching something in the google
await driver.findElement(By.name('q')).sendKeys('alicse3'+Key.ENTER);
// Calling the scrolling funciton
let i = 0, xValue = 0, yValue = 100;
while(i++ <= 5) {
await scrollToElement(xValue, yValue+=100);
await console.log("=> The 'i' value is " + i);
await driver.sleep(2000);
}
}
// Executor function
doScroll();
Надеюсь, это поможет ...