【问题标题】:Submitting a form programmatically [duplicate]以编程方式提交表单[重复]
【发布时间】:2011-09-21 17:06:20
【问题描述】:

可能重复:
How do you programmatically fill in a form and 'POST' a web page?

我一直在寻找一种允许用户使用 C# 甚至 HTML 提交表单的方法,因此我获取了源代码,将其保存在文件中并获取文本字段的名称以提交表格。

例如,使用您的电子邮件记录到 Facebook、gmail、stackoverflow ... 或任何包含表单的页面。

在我问如何之前,这可能吗? 我的项目主要是帮助视障人士更轻松地上网!就像获取任何 html 源代码并能够重新排列标签、省略图像和不会使他们受益的此类标签,并尝试让他们能够使用语音转文本登录......所以我的代码将需要语音将其逐个字段转换为文本,并在他/她完成后提交表单!当然,字段的名称将使用文本转语音来朗读!

提前致谢

【问题讨论】:

  • 当然有可能,但是您需要提供更多关于您想要在其中执行此操作的环境以及您想要完成的内容的更多信息(显然,提交表单是一个步骤在做更大的事情时,请告诉我们那是什么,因为可能有比您想象的更好的方法)
  • 谢谢..编辑中:)
  • 问题不清楚。当用户输入此数据时,您是否想连接到浏览器,拦截它,将其保存到文件中,然后他们允许将数据实际提交到站点?
  • 找到所有字段的“名称”属性,结合用户输入的值,向服务器发出POST请求?你到底想做什么?

标签: c# html


【解决方案1】:

您看过WebBrowser 控件吗? http://msdn.microsoft.com/en-us/library/aa752041(v=vs.85).aspx

它将允许您自动进行冲浪。您还可以与页面交互并修改文本框中的值、单击按钮、提交表单。

这里有一些关于如何处理点击的讨论。 http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/2eed72f7-4fde-4730-abf7-738e9b6e87c4/

我过去曾成功使用过这种方法,但如果您不/无法控制网站,我会说这是有问题的。如果我编写一个程序,使用这种方法自动登录到 facebook,它需要我告诉它要访问的 URL、要填写的文本框以及要单击的表单名称或按钮名称。

如果 Facebook 重新设计他们的布局 - 我的代码可能不再有效。

如果您只是对部分日志记录感兴趣;您可能想看看浏览器插件(我不知道这是否会有所帮助,但我想我会提到它)。我使用一个名为“LastPass”(https://lastpass.com/)的产品,它管理着我所有的用户名和密码。如果我访问它熟悉的网站,它会自动为我填写表格,让我登录或完全输入我的地址。

【讨论】:

    猜你喜欢
    • 2014-08-13
    • 2010-11-22
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 2011-02-06
    • 2020-10-03
    • 2013-12-06
    相关资源
    最近更新 更多