c# - 使用 C# 测试网站

标签 c# web-crawler http-post

<分区>

各位,

我需要完成一些复杂的网络抓取。

目标简单来说:登录页面,在某些文本字段中输入一些值,单击提交,然后从检索到的页面中提取一些值。

什么是最好的方法?

  1. 一些单元测试第 3 方库?
  2. 在 C# 中手动抓取?
  3. 也许有专门为此准备的库?
  4. 还有其他方法吗?

这需要在网络应用中完成。

非常感谢您的帮助。

最佳答案

等待。

http://watin.sourceforge.net/

var browser = new IE();

browser.GoTo("http://www.mywebsite.com");

browser.TextField("username").TypeText("username goes here"); // alternatively, use .Value = if you don't need to simulate keystrokes.

browser.Button(Find.ById("submitButton")).Click();

在返回页面上的断言中:

Assert.AreEqual("You are logged in as Username.", ie.TextField("username").Value); // you can essentially check any HTML tag, I just used TextField for brevity.

编辑 -

阅读有关在 Web 浏览器中执行此操作的编辑后,您可能会考虑使用 WebRequest 和 HTML Agility Pack 来验证您返回的内容:

网络请求:

http://msdn.microsoft.com/en-us/library/debx8sh9.aspx

HTML 敏捷包:

How to use HTML Agility pack

关于c# - 使用 C# 测试网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3418324/

相关文章:

c# - 类型或命名空间名称不存在? (静态类)

c# - 如何从 C# 执行 cygwin 命令并保持打开状态?

c# - 我怎样才能改进 LINQ?

python - Scrapy - 如何转换输出中的 unicode?

javascript - 如何使用 angular.js 发布多个请求

Android HTTPRequest 周期

c# - 如何在 2 个不同的 DLL 中访问具有相同完全限定名称的类型

java - 有哪些好的 Java 库可以从网页中搜索和抓取数据。

php - 遍历 $_POST 数组以显示字段名称

python - Scrapy - 排除不需要的 URL(喜欢评论)