通过VBA检查HTML网站的Aria状态

时间:2017-06-07 16:51:43

标签: html vba

我正在研究VBA算法,以便自动与网站进行交互。自动化工作得很好,除了一个小问题,这引起了我很多麻烦(我对这个网络自动化编程也相对较新)。这是一个内部网站,所以我无法发布链接,但我会尝试尽可能透明。

以下是我的工作:

我正在通过GetElementByID("ID").value = "Name"将网站上的名称输入到元素中。然后网站需要时间来处理该信息,并且在此部分完成之前不允许我将信息输入到另一个元素中。当网站正在处理信息时,弹出窗口基本上冻结了网站。

以下是我的问题:

网站处理信息所需的时间从2秒到2分钟不等。所以我想弄清楚如何在处理完成后在最短的时间内完成我的程序。

我尝试了什么:

1)application.wait;相当明显,但最不优雅的方式并不是非常可靠,因为处理时间差别很大。

2)IE.ReadyState = 4IE.busy;不起作用,因为在完成此处理时网站已满载。

3)我构建了一个基本上循环的函数,而元素的innerhtml不是名字。我认为这将是一个很酷的解决方案,但问题是innerhtml更改有时已经完成,而弹出窗口仍然存在。 (该功能适用​​于代码的其他部分)。

4)我构建了一个循环的函数,直到它无法通过GetElementByID("waitingPopUp")找到弹出窗口。没有用,因为元素在技术上总是在那里。

我认为应该有效:

所以这个弹出这个主要问题。唯一的事情是,当弹出窗口可见时,状态位于aria-hidden="false",否则为aria-hidden="true"。因此,我的问题是,是否有办法通过VBA访问此咏叹调状态?理想情况下,我希望构建一个函数,并且在元素(" popup")处于aria-hidden="false""上时循环。#34;循环。这可能吗?

此致

0 个答案:

没有答案