一个不用GUI的浏览器

时间:2012-11-08 23:18:03

标签: browser web-scraping twebbrowser

我正在编写一个工具来从多个网站获取信息,所有这些都需要我登录。我的正常方法是遵循Fiddler或类似的请求和响应,并遵循直接路径。

然而,感觉有点严格。网站的最小变化可能会破坏我的代码。所以我正在寻找类似无UI浏览器的东西,我可以使用以下方式:

Browser.Load("https://sourceforge.net/account/login.php");
Browser.Document.ElementById("form_loginname").Value = "login";
Browser.Document.ElementById("form_pw").Value = "password";
(Browser.Document.ElementById("login") As WebButton).Click(); // the login button is named "login".

在此代码完成后,我希望看到我将在常规浏览器中获得的页面。

我所描述的内容是否存在?

编辑 - 首选C#支持

1 个答案:

答案 0 :(得分:2)

这与Web应用程序的自动化用户测试非常相似,关键区别在于您不拥有经过测试的应用程序。

Selenium是一个流行的图书馆,用于自动驾驶浏览器。如果你想以无头方式使用Selenium运行程序,你可以使用无头X服务器,如Xvfb。关于不使用Xvfb,替代方案有older question

由于Selenium可以使用各种编程语言驱动许多浏览器,因此我建议您在StackOverflow上探索Selenium标记。

对你来说特别感兴趣的是SimpleBrowser.WebDriver:针对.Net的内存轻量级浏览器的Selenium绑定。实际上,SimpleBrowser可以直接满足您的需求,而不会增加Selenium的复杂性。