滚动页面时,网页的源代码不会更改

时间:2017-10-26 12:31:27

标签: facebook-graph-api webbrowser-control

我需要通过关键字在Facebook上搜索帖子。由于Facebook-API无法实现,我正在尝试使用WebBrowser对象。 它工作,但我需要滚动页面以获得更多的结果。我正在制作滚动,但WebBrowser对象的源代码不会改变。有什么建议我可以做什么来获取更新的源代码? 我尝试使用Explore WebBrowser对象和GeckoFX。

1 个答案:

答案 0 :(得分:0)

使用ChromeDriver,我做了一个简单的测试,我可以轻松加载页面源,向下滚动并获取新的页面源。滚动后,长度增加了100k。

        using (IWebDriver browser = new OpenQA.Selenium.Chrome.ChromeDriver())
        {
            // Open facebook
            browser.Navigate().GoToUrl("https://www.facebook.com");

            // Scroll down
            var pageSourceLengthBefore = browser.PageSource.Length;
            browser.FindElement(By.TagName("textarea")).SendKeys(Keys.PageDown);
            var pageSourceLengthAfter = browser.PageSource.Length;

            // Result
            Console.WriteLine(pageSourceLengthBefore + " / " + pageSourceLengthAfter);
        }

注意:在发送密钥之前需要聚焦输入。这就是为什么我选择textarea。