【发布时间】:2012-02-14 15:27:25
【问题描述】:
有一个网页有输入文本字段。
我想启动页面
Process.Start("http://nameofdomain.com")
问题是如何在字段中输入数据并提交表单?
更新 -
我不需要向用户显示/呈现任何页面。
目的是让用户可以轻松更改密码。我们目前的设置是
- 用户导航到 Intranet 上的站点 (http://intranetsite/password)
- 要求用户输入他们的 Windows 用户名 (firstName.lastName)
- 要求用户输入当前密码(或回答安全问题(如果存在))
- 要求用户点击链接(选择更改密码或更改安全问题)
- 最后一页是一个确认页面,它告诉用户哪些密码已成功更改。他们在我们的网络上有几个帐户。每个账户都有不同的密码规则 一个系统可能要求密码不能重复最后 90 个密码。另一个系统要求密码正好是 8 个字符。我的应用程序检查密码规则是否正确。我无法检查密码历史记录。因此最后一页是必要的,否则我必须解析 HTML 并指出错误。
【问题讨论】:
-
如果您在窗口应用程序(如 Windows 窗体)中工作,我认为您可以通过在应用程序 UI 中嵌入 WebBrowser 控件并将其导航到所需的 url 来进行更好的控制。或者您找到一个非常通用的解决方案,考虑调用 Process.Start("nameofdomain.com") 也可以打开 FireFox 或 Chrome...
-
你真的要显示页面吗,或者如果在没有实际呈现页面的情况下发送已填写表单的HTTP请求是否可以?
-
不启动浏览器窗口而是创建
HTTP POST请求不是更好吗? -
我们可以,但有点复杂。在本地 Intranet 站点上,第一页要求用户输入他们的用户名。第二页询问他们的密码(当前)。第三页包含在提供最终页面之前需要单击的链接(他们需要输入两次新密码)。
标签: c# browser web-scraping