模拟Web浏览器

时间:2010-04-06 18:49:07

标签: c# .net c++ python qt

我们的任务是基本上模拟浏览器来获取网页,希望在不同的网页上自动化测试。这将用于(理想情况下)在后台运行并生成报告的控制台应用程序。

我们尝试使用.NET和WatiN库,但它是基于Marshalled IE构建的,所以它缺少我们通过调用非托管本机代码而入侵的许多功能,但是在一天结束时IE不是线程安全,也不是进程安全,许多所需的功能只能通过更改注册表值来实现,而且非常不灵活。

  • 代理支持
  • JavaScript支持 - 我们必须能够在任何javascript执行后解析实际的DOM(并希望引发一个事件来处理任何ajax调用)
  • 能够保存整个页面内容,包括图像从已加载页面的CACHE到单独的位置
  • 清除cookie /缓存,获取cookie /缓存等的能力
  • 能够为任何浏览器调用设置标题和更改帖子数据
  • 流程和/或线程安全是理想的
  • 对于drogs的爱,一个并不完全神秘的API

语言可以接受C ++,C#,Python,任何可以是一个简单的小背景应用程序,有点可以忍受,并且没有像Ruby这样的完全“非传统”语法。

从我自己的研究中,相信我在谷歌搜索中很糟糕,我听说过 WebKit 的好消息...... Qt模块 QtWebKit 会处理所有这些特征

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

我知道你提到过你不喜欢Ruby语法(我也不喜欢),但我只是想说明Watir可能是你想要做的最好的事情。

编辑:似乎有一个名为Watij

的Java对应部分

答案 2 :(得分:1)

我最近自己一直在深入研究,所以我不能说这会列出你列出的所有内容,但请查看GeckoFx

来自网站: GeckoFX是一个开源组件,可以轻松地将Mozilla Gecko(Firefox)嵌入到任何.NET Windows窗体应用程序中。 GeckoFX是用干净的,完全注释的C#编写的,是基于Internet Explorer的默认WebBrowser控件的完美替代品。

至于我自己的印象:它在性能和稳定性方面都吹嘘了默认的.NET WebBrowser。