Web浏览C# – 库,工具等 – 像Perl中的Mechanize一样吗?

寻找与Mechanize for .NET类似的东西……

如果您不知道Mechanize是什么.. http://search.cpan.org/dist/WWW-Mechanize/

我会在这里保留一份建议清单。 浏览/发布/屏幕抓取的任何内容(WebRequest和WebBrowser控件除外)。

解析

  • HTMLAgilityPack – http://www.codeplex.com/htmlagilitypack

Web应用程序测试

  • WatiN – Web应用程序测试框架(.NET) – http://watin.sourceforge.net/

  • Selenium – http://seleniumhq.org/

  • 测试设计canvas的艺术 – 花钱

工具

  • 适用于Firefox的Firebug
  • 适用于IE的Internet Explorer开发人员工具栏
  • Chrome也有

注意

WatiN接近我正在寻找的东西,除了它打开一个浏览器,这是令人讨厌和令人敬畏的同时。 取决于你在做什么。

我一直在使用WatiN效果很好。 这是一种简单的方法1)自动化用户输入w / IE和2)导航DOM。

您可以使用WebBrowser控件,该控件可以在一定程度上自动执行。

您需要使用HTML Agility Pack ,它可以将真实网站中的标签汤解析为DOM结构。

您也可以使用Selenium 。 它用于unit testing网站。 它有一个驱动浏览器的java应用程序和一个可以编写代码的C#接口。它还有显示浏览器的缺点,但它在控制,等待响应和获得结果方面非常全面。

Design Canvas是这类东西的最佳工具。 适用于IE,Firefox,Safari或内存浏览器。 它允许您录制然后回放任何类型的Web交互。

您希望HttpWebRequest用于自动化Web请求,并希望HtmlAgilityPack用于处理生成的HTML。

我有逆向工程Python-Mechanize,并在C#中重新创建它,名为Mechanize.NET。

https://github.com/WilliamABradley/Mechanize.NET

这应该有希望覆盖Mechanize的所有用例,如果没有,或者你发现了一个bug,就会产生一个问题。

它使用.NET Standard,因此它应该可以在.NET中使用,例如使用F#,VB等。

它在内部使用HtmlAgilityPack,您甚至可以为每个加载的页面收集HtmlDocument。