2016-06-22 81 views
0

我正在导航一个Web应用程序,如果在可以与之交互之前尝试单击某个元素,则该应用程序通常会引发错误。Selenium Webdriver(VBA):显式等待

当使用硒的webdriver(JAVA),我可以很容易地解决此问题:

WebDriverWait wait = new WebDriverWait(driver, 15); 

wait.until(ExpectedConditions.elementToBeClickable(By.id("element"))); 

不过,我试图写在VBA利用硒类​​型库脚本,而且,尽管尝试了许多不同我有的唯一的成功是:

webdriver.wait 

我已被告知应该尽可能避免。如果有人可以建议如何将我的java翻译成VBA或提供任何其他解决方案,我将非常感激。

回答

0

VBA的selenium插件是非官方的,不支持此功能。

您可以解决此通过使用onError的,直到它成功或超时重试所产生错误的操作:

Sub test 
    OnError GoTo Retry 
     webDriver.findElementById("element") 
    Exit Sub 

    Dim i as integer 
    :Retry 
     webDriver.Wait(500) 
     i = i + 1 
     if i = 20 then onerror go to 0 
    Resume 
end sub 
相关问题