2017-10-26 10 views
0

키워드로 게시물을 Facebook에서 검색해야합니다. 때문에 페이스 북과 API를, 난 WebBrowser 개체와 함께 할려고 노력하고있어 불가능합니다. 작동하지만 더 많은 결과를 얻으려면 페이지를 스크롤해야합니다. 스크롤을 만들고 있지만 WebBrowser 객체의 소스 코드가 변경되지 않습니다. 업데이트 된 소스 코드를 얻으려면 어떻게해야합니까? Explore WebBrowser 개체와 GeckoFX를 사용해 보았습니다.페이지를 스크롤 할 때 웹 페이지의 소스 코드가 변경되지 않습니다.

+1

Facebook에서 근근이 살아가는 것이 허용되지 않습니다. 그러지 마세요. 그래프 api에서 사용할 수 없다면 잊어 버리십시오. – luschn

답변

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); 
     } 

참고 : 키를 보내기 전에 입력에 초점을 맞춰야합니다. 그건 내가 왜 텍스트 영역을 선택합니다.

+0

OpenQA.Selenium.Chrome.ChromeDriver에 익숙하지 않습니다. 어떤 단계를 수행해야합니까? 그래서이 코드를 테스트 할 수 있습니까? – user2268845

+0

코드는 C#입니다. 단위 테스트 솔루션을 만들고 chromeriver nuget (셀렌 검색)을 설치해야합니다. – GELR