2017-02-22 88 views
0

我試圖在https://www.americasarmy.com/soldier/1309069中獲取元素的值Neutralizations Deaths Ratio。
使用下面的代碼:如何從其他網站獲取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,所以我想要的是讓所有的元素來獲得Neutralizations Deaths Ratio的價值。

+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

這種方式解決了什麼我想這樣賈森說,這可能是由我使用phantomjs u能找到既在的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);