如何从另一个网站MVC获取html元素的价值

时间:2017-02-22 18:49:18

标签: c# html asp.net-mvc asp.net-mvc-5

我试图在https://www.americasarmy.com/soldier/1309069中立死亡率时获得一个元素的值。
使用以下代码:

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所以我想要的是获得所有元素以获得中和的价值死亡率。

1 个答案:

答案 0 :(得分:1)

这种方式解决了我想要的问题,因为Jasen说可以通过无头浏览器解决我使用 phantomjs selenium 你可以在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);