我有一个excel宏,可以将数据输入Web表单(使用Sng和Web驱动程序)。每次提交后(单击“提交”按钮),都会弹出一个弹出窗口,并通过运行此代码行obj.SwitchToAlert.accept
在该警报上单击“确定”以继续循环。整个代码运行正常。唯一的问题是警报有时需要5到10秒才能显示。到那时,代码继续单击按钮并给出错误信息(因为还没有弹出警报)。
宏有什么方法可以等到警报出现后再运行obj.SwitchToAlert.accept
?
答案 0 :(得分:1)
在SwitchToAlert
方法中,您忽略了其他参数。
特别是一个Optional Timeout As long = -1
参数。将其设置为一个值,例如20。这意味着将等待最长时间 20秒,警报才会出现,然后单击“接受”。如果它在5秒钟内出现,则只需等待5秒钟(而不是完整的20秒钟)。
obj.SwitchToAlert(20).accept
您要使用的行。
使用默认值-1
时,您要告诉此方法使用5秒的全局默认超时。您可以通过更改obj.Timeouts.ImplicitWait
属性来更改此全局值。