Selenium - 向下滚动一个不断增长的页面

use*_*530 9 c# selenium selenium-webdriver

我正在使用Selenium和c#.

Selenium通常可以自动向下滚动到网页的底部以查找元素,但我对某个页面的问题可能会增加.

任何人都可以建议一旦它的大小增加就会向下滚动到页面底部的代码吗?

Bra*_*ard 11

尝试使用此问题中描述的javascript

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight);");
Run Code Online (Sandbox Code Playgroud)


Geo*_*sov 5

我知道这是一个旧的,但可能有人帮忙。我出现了以下C#代码:

    private void ScrollToBottom(IWebDriver driver)
    {
        long scrollHeight = 0;

        do
        {
            IJavaScriptExecutor js = (IJavaScriptExecutor) driver;
            var newScrollHeight = (long) js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight); return document.body.scrollHeight;");

            if(newScrollHeight == scrollHeight)
            {
                break;
            }
            else
            {
                scrollHeight = newScrollHeight;
                Thread.Sleep(400);
            }
        } while (true);
    }
Run Code Online (Sandbox Code Playgroud)