2013-03-16 3 views
0

попытался с помощью Selenium после прочтения какой-то учебник для веб выскабливание ..Browserless веб выскабливание Аякса страницы

Цель состоит в том, чтобы веб/экран царапать страницу, которая загружает необходимые данные после вызова Ajax (Когда это Ajax вызова сделанный после загрузки начальной страницы).

Вторая цель - запустить код Селена в фоновом режиме (не открывать браузер), чтобы разрешить загрузку страницы (включая вызов Ajax), получить окончательный HTML и выполнить требуемую обработку локально ..

код до сих пор следующий (код учебника от http://www.geekonweb.com/net/web-page-scraping-using-selenium-and-net/)

public ActionResult Index() 
    { 
     //-- 
     //Below path should contain IEDriverServer.exe 
     var chrome = new ChromeDriver(@"file path"); 
     chrome.Url = @"<url>"; 

     chrome.Navigate(); 

     //extract the html 
     //var retval = ie.ExecuteScript("return document.body.outerHTML"); 

     string result = chrome.PageSource; 


     return View(); 
    } 

В настоящее время не удалось найти способ запуска селена без использования графического интерфейса. любезно помощь если это можно сделать.

Во-вторых, любезно скажите, как можно Селену ожидать, чтобы вызов Ajax завершился, а затем извлек данные.

С уважением,

ответ

1

Вот вопрос, на how to wait until an element is present. Это делается для ожидания AJAX.

Здесь речь идет о погоде, возможно run selenium headless.

+0

спасибо .. будет пытаться увидеть и рассказать, если проблема решена. –

+0

проблема с ожиданием, похоже, была решена в некоторой степени :). (несколько) .. будет пытаться заглянуть в безголовый бег и сообщить в случае, если это будет достигнуто .. Спасибо. –

+0

не смог получить проблему с браузером без гарнитуры. Однако спасибо за ответ. Кажется, он решил половину проблемы. –

Смежные вопросы