创建使用 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 组件的调用返回"。

创建使用 Visual C# 的 Internet Explorer 实例

您需要等待登录页面加载完成,然后再尝试拉取和设置输入,添加此行代码

而(即.忙);

以前

HtmlElementCollection inputs = IE。Document.GetElementsByTagName("input");