如何以编程方式浏览页面?

时间:2011-12-07 18:22:17

标签: c# html-agility-pack

我见过很多关于如何获取URI内容的例子。我也经常使用HTMLAgilityPack。 我想要的是为asp网站创建单元测试环境。

我见过BrowserSessionQuestion但是,过程似乎很好,他们没有登录网站。我尝过很多知名网站。

关于如何浏览代码的任何想法?

2 个答案:

答案 0 :(得分:2)

听起来您想要在网页上提交表单并查看结果页面的回复HTML。

此方法将采用表单目标URL并在parms字典中提交具有给定命名参数的帖子。

我使用下面的方法在网页上执行密码验证,并在验证后查看响应。您需要知道目标网址以及您希望在请求中传递的表单字段。

private string SubmitRequest(string url, Dictionary<string, string> parms)
{
    var req = WebRequest.Create(url);
    req.Method = "POST";

    string parmsString = string.Join("&", parms.Select(p => string.Format("{0}={1}", p.Key, p.Value)));
    req.ContentLength = parmsString.Length;

    using (StreamWriter writer = new StreamWriter(req.GetRequestStream()))
    {
        writer.Write(parmsString);
        writer.Close();
    }

    var res = req.GetResponse();

    using (StreamReader reader = new StreamReader(res.GetResponseStream()))
    {
        string response = reader.ReadToEnd();
        reader.Close();
        return response;
    }
}

如果您想要更具体的内容,或者这不是您想要的内容,请发表评论。

答案 1 :(得分:0)

我的建议是尝试一些WebDriverJs教程,看看是否适合您。它主要用于测试,但也可以用于其他目的。我使用它来自动在购物平台上响应用户的查询。