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

通过VBA检查HTML网站的Aria状态,html,vba,Html,Vba,我正在研究VBA算法,以便自动化与网站的交互。自动化工作得很好,除了一个小问题,它已经给我带来了很多麻烦(而且我对这个web自动化编程相对较新)。这是一个内部网站,所以我不能发布链接,但我会尽量让它透明 以下是我的工作: 我通过GetElementByID(“ID”).value=“name”将网站上的名称输入到元素中。然后网站需要时间来处理这些信息,在这部分完成之前,不允许我将信息输入其他元素。当网站处理信息时,弹出窗口基本上会冻结网站 这是我的问题: 网站处理信息所需的时间从2秒到2分钟不等

我正在研究VBA算法,以便自动化与网站的交互。自动化工作得很好,除了一个小问题,它已经给我带来了很多麻烦(而且我对这个web自动化编程相对较新)。这是一个内部网站,所以我不能发布链接,但我会尽量让它透明

以下是我的工作:

我通过
GetElementByID(“ID”).value=“name”
将网站上的名称输入到元素中。然后网站需要时间来处理这些信息,在这部分完成之前,不允许我将信息输入其他元素。当网站处理信息时,弹出窗口基本上会冻结网站

这是我的问题:

网站处理信息所需的时间从2秒到2分钟不等。因此,我试图找出一种方法,在处理完成后,如何在最短的时间内完成我的程序

我尝试过的:

1)
应用程序。等待
;很明显,但这是最不优雅的方式,不太可靠,因为处理时间差异很大

2)
IE.ReadyState=4
IE.busy
;不起作用,因为在进行此处理时网站已完全加载

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

4) 我构建了一个函数,通过
GetElementByID(“waitingPopUp”)
循环直到找不到弹出窗口。不起作用,因为元素在技术上总是存在的

我认为有效的方法:

这就是主要问题。唯一的问题是,当弹出窗口可见时,状态为on
aria hidden=“false”
,否则为
aria hidden=“true”
。因此,我的问题是,是否有一种方法可以通过VBA访问此aria状态?理想情况下,我希望构建一个长行的函数“loop while element(“popup”)处于启用状态
aria hidden=“false”
”。可能吗


关于

您提到VBA,您使用的是什么类型的后端?网络表单?ASP MVC?我不完全明白你的意思,因为我对它还不太熟悉。我正在使用Excel 2010和IE 11。