Вы можете использовать Javascript для прокрутки по координатам.Если вы можете получить высоту вашей страницы в пикселях, вы можете вызвать метод Scroll(int xCoordinate, int yCoordinate)
и увеличивать координаты прокрутки с каждой последовательной прокруткой.
Вы хотите начать с прокрутки до начальной координаты x, y на странице.При прокрутке вниз ваша координата y для прокрутки будет меняться.Если вы не увеличиваете координату y при прокрутке вниз, вы будете застревать, прокручивая до одного и того же места снова и снова.Таким образом, вы должны определить переменную increment
на основе высоты пикселя страницы, которую вы используете.В зависимости от того, сколько строк вы хотите прокрутить одновременно, ваша переменная increment
должна быть примерно равна высоте в пикселях каждой строки, которую вы прокручиваете.
numberOfScrolls
должно быть равно числустрок, которые вы хотите прокрутить.
Метод будет выглядеть примерно так:
public void ScrollDown(int startX, int startY, int increment, int numberOfScrolls)
{
// cast webdriver to javascript executor
var executor = ((IJavaScriptExecutor) driver);
// keep track of current y coordinate
// since we are scrolling down, y coordinate will change with each scroll
var currentYCoordinate = startY;
// scroll down in a loop
for (int i = 0; i < numberOfScrolls; i++)
{
// scroll down
executor.ExecuteScript("window.scrollTo(startX, currentYCoordinate);");
// todo: implement any FindElement methods to get the new elements which have been scrolled into view.
// update y coordinate since we just scrolled down
currentYCoordinate = currentYCoordinate + increment;
}
}