如何在30秒内检查元素是否出现?
我想在查找特定元素时跳过其他步骤,如果元素出现,我想单击。
有时元素会在2秒或10秒后弹出(例如另一个页面已经打开),我不想等待找到元素。
我尝试了以下操作,但如果元素没有显示,测试将失败:
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
MyLocator.click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //turn default
我想你应该读一读显式等待。
Selenium中的显式等待用于告诉Web Driver等待某些条件(预期条件)或在抛出" ElementNotVisibleException "异常之前超过的最大时间。
例如:
WebDriverWait wait = new WebDriverWait(Scenario1Test.driver, 30);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(locator);
element.click()