可在服务器上运行的C#浏览器自动化

时间:2013-10-18 16:03:35

标签: c# browser-automation

我一直在使用WatiN进行浏览器自动化和网站测试。最近我收到了一个自动执行某项任务的请求,该任务需要检查合作伙伴网站是否存在某些SKU(因为他们没有合适的API)并确认交易。

我尝试使用WatiN,但由于它在服务器上运行并且按需运行,因此服务器桌面在大多数情况下自然被锁定,并且IE窗口无法打开,并且该进程永远不会运行。

我正在寻找WatiN的替代品,它最好是一个.net库(不是必须的,但只是让事情变得简单),不需要登录用户并且是免费的,开源总是很好。

任何人都有这种自动化的经验吗?

1 个答案:

答案 0 :(得分:4)

您可以使用Selenium WebDriver加上PhantomJS

Selenium在许多方面与WaitN类似,但它支持更多浏览器。 PhantomJS是一个无头浏览器,包含在一个便携式可执行文件中,您可以从您的Web服务器运行。

一旦添加了NuGet软件包,您就可以实例化PhantomJS Web驱动程序并控制网站,而无需启动完整的浏览器。

var driver = OpenQA.Selenium.PhantomJS.PhantomJSDriver();

我们在构建服务器上使用它,因为构建代理程序未登录,并且无法启动正常的浏览器进程。

如果您只需要检查一些HTML,可以使用WebClient向网站发出请求,将内容响应作为字符串返回并解析。