繁体   English   中英

使用C#控制Internet Explorer

[英]Control Internet Explorer with C#

有一个网页有输入文本字段。

我要启动页面

Process.Start("http://nameofdomain.com")

问题是如何在字段中输入数据并提交表单?

更新 -

我不需要向用户显示/呈现任何页面。

目的是允许用户以最小的努力更改密码。 我们当前的设置是

  1. 用户导航到Intranet上的站点(http:// intranetsite / password)
  2. 要求用户输入其Windows用户名(firstName.lastName)
  3. 要求用户输入他们当前的密码(如果存在,则回答安全问题)
  4. 要求用户单击链接(在更改密码或更改安全问题之间进行选择)
  5. 最后一页是一个确认页面,告诉用户哪些密码已经成功更改。 他们在我们的网络上有几个帐户。 每个帐户都有不同的密码规则。一个系统可能要求密码不能再重复使用最近的90个密码。 另一个系统要求密码正好是8个字符。 我的应用程序检查密码规则是否正确。 我无法查看密码历史记录。 因此,最终页面是必要的,或者我必须解析HTML并指出错误。

您可以研究诸如Selenium之类的Web浏览器自动化工具,它们具有C#驱动程序来与浏览器进行交互并使之自动化。

最好的方法(到目前为止)是WatiN @ http://watin.org/ 我尝试过Selenium并且永远无法让它顺利运行(也许它已经变得更好了)。 WatiN的文档面向自动化测试,但您可以不使用测试代码/库,并且它也支持FirefoxChrome 例如:

using WatiN.Core;
using WatiN.Core.Interfaces;
using WatiN.Core.Logging;
using WatiN.Core.DialogHandlers;

...

public void SearchForWatiNOnGoogle()
{
  using (var browser = new IE("http://www.google.com"))
  {
    browser.TextField(Find.ByName("q")).TypeText("WatiN");
    browser.Button(Find.ByName("btnG")).Click();
  }
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM