【问题标题】:How can I open a webpage first and then fill in text boxes and click a button and visibly view the results?如何先打开网页,然后填写文本框并单击按钮并可见地查看结果?
【发布时间】:2015-02-13 21:18:46
【问题描述】:

[edit] 要求网页在 IE 中生成并打开,并在程序化操作完成后允许用户手动交互。[/edit]

我在网上看到了很多关于打开网页或填写网页文本框并获得返回值的代码示例,而这些代码示例却从未以可见的方式打开它们。

我想在IE中打开一个网页,填写几个文本框按钮 然后点击提交按钮,即可看到结果。

我可以使用名为 Seleniumdll 来完成此操作,但我不想使用第 3 方应用程序,而且似乎 WebBrowser() 应该能够去做这个?

如果有帮助,我可以发布我失败的代码示例。

谢谢。

【问题讨论】:

  • 你的应用是网页表单还是win表单
  • 一个win表单,它的功能之一应该是启动IE,打开一个页面,预填几个框并点击一个按钮。
  • 我想做的一个很好的例子是这个项目(我已经开始工作了)codeproject.com/Articles/5452/… 但是没有额外需要的 DLL,我希望浏览器是 IE 而不是插件对象通用浏览器。

标签: c# webbrowser-control


【解决方案1】:

也许这更适合作为评论,但我没有足够的声誉。

你知道 HTTP-Forms 是如何工作的吗? 向您要填写的表单的目标发送 HTTP 请求可能会更容易,包括您要填写到表单中的参数。

所以您不需要任何 WebBrowser 或类似的东西,只需要一个简单的 HttpWebRequest 对象,您可以在其中指定目标、方法(很可能是 POST)和您要发送的数据。

【讨论】:

  • 如果我对您的理解正确,这将不起作用,因为我需要查看页面加载,以编程方式与页面交互并让它继续到在所述加载时需要人工交互的地步页面。
  • @Jay 你说得对,我不知道网页还有其他交互,除了你的程序做的东西
【解决方案2】:

您可以在 Winforms 中使用 webbrowser 控件。可以使用控件访问网站的每个 DOM 对象。 无需在外部打开 IE

您只需将网络浏览器 URL 指定为您的链接。 然后,用代码填充文本框,

BrowserID.Document.GetElementById("TextboxID").SetAttribute("Value", "NewVaue")

另外,您可以使用InvokeMember("click")点击按钮。

有很多东西使用 WebBrowser。你可以学习一下here

【讨论】:

  • 如果可以的话,我将编辑我的原始问题以使其更明显,这是网页在 IE 中生成和打开的要求。
猜你喜欢
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多