【发布时间】:2016-07-25 13:18:36
【问题描述】:
在我的代码中,我需要“请稍候...”上方面板中的阻塞 UI 首先消失,然后移至下方面板,因此我明确等待该特定块跨度。但是即使上面的面板被阻止了它的保存功能仍然在进行,下面的面板的点击功能会连续启动。
driver.findElement(By.id("saveHouseholdMember")).click();
WebDriverWait uiBlock = new WebDriverWait(driver, 30);
uiBlock.until(ExpectedConditions.invisibilityOfElementWithText(By.xpath("/html/body/div[2]/form[1]/div/table/tbody/tr/td/span"), "Please wait..."));
driver.findElement(By.id("disabilityFlagRadio")).click();
在这里,单击保存按钮时,该面板会被“请稍候...”消息阻止。驱动程序应该等到上面面板中的“请稍候...”文本消失,然后应该执行下面的书面点击功能,但它没有按预期发生。上述面板的保存通常需要 15 秒左右。
我也参考了下面的链接,但找不到有用的输入。 Wait is not working in selenium webdriver
【问题讨论】:
-
Selenium 是否有可能在显示“请稍候...”消息的面板出现之前超过等待时间?
-
+1,尝试先等待面板可见,以确保 selenium 开始等待面板在可见后消失。
-
如果您确定该面板已显示,则可以等待显示下一个元素
WebElement element = wait.until( ExpectedConditions.visibilityOfElementLocated(By.id("disabilityFlagRadio")));
标签: java selenium selenium-webdriver