Vba 当我的selenium webdriver注意到元素发生变化时,是否可以触发它?

Vba 当我的selenium webdriver注意到元素发生变化时,是否可以触发它?,vba,selenium,selenium-chromedriver,webdriverwait,web-testing,Vba,Selenium,Selenium Chromedriver,Webdriverwait,Web Testing,我正在尝试自动化一个表单填充测试,唯一的问题是等待页面完全加载。主要问题是页面已加载,但在3秒或5秒后,elements类属性从warning变为danger或success。 目前,我正在使用driver.wait 5000让我的selenium webdriver等待5秒,然后才能执行任何操作,而且效果很好,问题是有时元素类可能在6秒或7秒后更改,我不想增加等待时间。 我还尝试使用: Do DoEvents Loop Until driver.ExecuteScrip

我正在尝试自动化一个表单填充测试,唯一的问题是等待页面完全加载。主要问题是页面已加载,但在3秒或5秒后,elements类属性从warning变为danger或success。 目前,我正在使用
driver.wait 5000
让我的selenium webdriver等待5秒,然后才能执行任何操作,而且效果很好,问题是有时元素类可能在6秒或7秒后更改,我不想增加等待时间。 我还尝试使用:

Do
        DoEvents
    Loop Until driver.ExecuteScript("document.readystate") <> "complete"
Do
多芬特
循环直到driver.ExecuteScript(“document.readystate”)完成
但它不能满足我的需要。上面的代码块确实会等待页面完全加载,但它不会等待元素更新其class属性。当驱动程序注意到并更改元素时,是否有类似的代码可以触发

如果您不理解我的问题,我将尝试用一种简单的方式:

我的webdriver打开链接。链接已完全加载,但在随机数秒后,元素的颜色将从红色变为黄色或绿色。我想让我的webdriver等到它注意到元素的任何细微变化,而不是等到页面完全加载,因为元素的颜色在页面完全加载后的几秒钟内随机变化

隐式和显式等待也不适用于VBA SeleniumBasic或我的测试。

类似于但使用.Attribute返回要检查的字符串?或者,编写一些定制javascript来提取这些数据并使用getAttribute(),使用回调并传入超时值来终止轮询。您可以通过调用目标元素的.ExecuteScript并在字符串变量和超时值中传递自定义js来附加到元素,例如。