browser - 一个无需 GUI 的浏览器

标签 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# 支持是首选

最佳答案

这很像 Web 应用程序的自动化用户测试,主要区别在于您不拥有测试的应用程序。

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

由于 Selenium 可以通过多种编程语言驱动多种浏览器,因此我鼓励您在 StackOverflow 上探索 Selenium 标签。

您特别感兴趣的是 SimpleBrowser.WebDriver 之类的内容:用于 .Net 内存中轻量级浏览器的 Selenium 绑定(bind)。实际上,SimpleBrowser直接可能会满足您的需求,而无需增加 Selenium 的复杂性。

关于browser - 一个无需 GUI 的浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13299615/

相关文章:

css - Android UI 遮挡了 Chrome `position:fixed; bottom: 0;`

python - 在同一 URL 上多次运行 Scrapy

delphi - 如何避免使用 TWebBrowser 刷新

html - 地理定位 API 权限 Web 浏览器

html - 泰卢固语文本在网页中显示为方框。如何显示原文?

python - 来自 StackOverflow 公司的网络抓取公司描述

javascript - 通过 vba 从 ie 触发 javascript

webbrowser-control - 使用嵌入式 WebBrowser 控件时如何绕过 Internet Explorer 增强安全性?

delphi - 如何以编程方式更改 TWebBrowser 中的字体

javascript - 检测所有 CSS 规则何时被应用和绘制