创建使用 Visual C# 的 Internet Explorer 实例
本文关键字:Internet Explorer 实例 Visual 创建 | 更新日期: 2023-09-27 18:35:14
我正在做一个项目,以自动登录和填写预订网站。用户在窗口窗体中输入所有必需的信息。当我触发Go按钮时,有一个自动登录,然后是表单填写(这是我正在尝试的自动填充)。我不想使用Visual C#的内置Web浏览器,我可以轻松地创建新实例。现在我可以启动IE浏览器,但我需要告诉PC在哪个页面填写什么信息。所以我想我需要为每个不同的页面创建一个 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");
}
}
当我使用 Web 浏览器对象而不是 IE 时,一切都很好。但是现在我收到运行时错误getElemetsbytagname 行中的"错误 HRESULT E_FAIL已从对 COM 组件的调用返回"。
您需要等待登录页面加载完成,然后再尝试拉取和设置输入,添加此行代码
而(即.忙);
以前
HtmlElementCollection inputs = IE。Document.GetElementsByTagName("input");