2014-12-25 36 views
-1

我正在开发一个项目以自动登录并形成预订网站的fillup。用户将所有必需的信息输入到窗体中。当我点击Go按钮时,出现自动登录后跟表单fillup(这是我想要的自动填充的事情)。我不想使用Visual C#的内置Web浏览器,我可以轻松创建新的实例。 现在我可以启动Internet Explorer的,但我需要告诉PC填写哪些信息在什么page.So我想我需要为每一个不同的页面创建使用visual c的Internet Explorer的实例#

SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer(); 
     IE.Navigate("https://www.irctc.co.in/eticketing/loginHome.jsf"); 
     HtmlElementCollection inputs = IE.Document.GetElementsByTagName("input"); 
     foreach (HtmlElement field in inputs) 
     { 
      if (field.GetAttribute("name").Equals("j_username")) 
      { 
       field.SetAttribute("value", "username"); 
      } 
      if (field.GetAttribute("name").Equals("j_password")) 
      { 
       field.SetAttribute("value", "password"); 
      } 
     } 

创建Internet Explorer实例当我使用Web浏览器对象而不是IE一切都很好。但是现在我得到一个运行时错误 “错误HRESULT E_FAIL已从调用返回到COM组件”在getElemetsbytagname行中。

回答

0

你需要等待登录页面加载完成你试图拉动和设定输入之前,加入这行代码

而(IE.Busy);前

HtmlElementCollection输入= IE.Document.GetElementsByTagName( “输入”);

相关问题