2017-02-22 32 views
0

Я пытаюсь получить значение элемента на https://www.americasarmy.com/soldier/1309069 Нейтрализации Смертельный коэффициент.
используя следующий код:Как получить значение элемента html с другого сайта MVC

using (WebClient client = new WebClient()) 
{ 
     try 
{ 
     client.DownloadString("https://www.americasarmy.com/soldier/1309069"); 
} 
     catch (WebException webex) 
{ 
     using (var streamReader = new StreamReader(webex.Response.GetResponseStream())) 
{ 
     ViewBag.htmlCode = streamReader.ReadToEnd(); 
} 
} 
} 

если и смотрели на ссылку выше, затем нажмите F12 и можно увидеть все эти элементы, но то, что я получаю, когда я использую этот код этих elements так, что я хочу, чтобы получить все элементов, чтобы получить значение коэффициента нейтрализации смертности.

+0

вы можете использовать HtmlAgilityPack для [разбора HTML строку] (HTTP://stackoverflow.com/questions/9355834/parsing-html-in-c-sharp-asp-net), затем программный поиск элемента. – Jasen

+0

Наверное, хотите прочитать, что возвращает функция: 'var resource = client.DownloadString' –

+0

@Jasen. Это не проблема, что я хочу, чтобы получить весь элемент из https://www.americasarmy.com/soldier/1309069. код, который я использовал, не возвращается со всем элементом, как я сказал. – Ali

ответ

1

Этот способ решить, что я хочу, чтобы получить так, как Jasen сказал, что это может быть решить с помощью обезглавленного браузера я использовал phantomjs и селена и можно найти как в NuGet
я использовал следующий код:

using OpenQA.Selenium; 
    using OpenQA.Selenium.PhantomJS; 

    public void Search(string url) 
{ 
    var driver = new PhantomJSDriver(); 
    driver.Navigate().GoToUrl("url"); 
    var DivValue = driver.FindElementByClassName("ClassName"); 
} 

и если вы хотите взять скриншот, можно использовать следующий код:

using System.Drawing.Imaging; 

    driver.GetScreenshot().SaveAsFile("test.png", ImageFormat.Png);