HTA可以用于自动化网页浏览吗?

时间:2017-10-06 20:02:31

标签: automation jscript hta

我是HTA的新手。我刚看了https://msdn.microsoft.com/en-us/library/ms536496%28v=vs.85%29.aspx并且有点困惑。

我可以使用HTA自动浏览吗?我想要下载网页并自动填写表格,即从脚本中填写。如果有的话,HTA如何帮助我做到这一点?下载页面中的JavaScript代码照常运行非常重要。我应该能够以某种方式进入并在完成初始化之后填写表格,就像我是一个人工代理一样。

1 个答案:

答案 0 :(得分:0)

首先,您需要打开IE窗口,如下所示:

var IE = new ActiveXObject("InternetExplorer.Application");

然后将IE窗口导航到您想要的网页:

IE.Navigate("www.example.com");

您的IE窗口可见或不可见,它取决于您。使用可见属性使其可见:

IE.Visible = true;

然后,您应该等到网页完全加载,然后运行一个能够执行所需操作的功能。为此,首先,使用IE对象的 Document 属性从网页获取HTML文档对象,然后重复检查文档对象的 readyState 属性。在下面的代码中,假设您有一个名为myFunc的函数,它在网页上执行您想要的操作。 (例如,修改网页的内容。)

var doc = IE.Document;
interval = setInterval(function() {
    try
    {
        if (doc.readyState == "complete")
        {
            myFunc();
            clearInterval(interval);
        }
    }
    catch (e) {}
}, 1000);

myFunc 功能中,您可以对网页执行任何操作,因为您的HTML文档对象存储在 doc 变量中。您还可以使用 parentWindow 属性来获取HTML窗口对象。