我正在尝试自动化测试用例,我通过单击图像提交表单.
页面重新加载后,我无法与网页上的任何元素进行交互
我正在使用java,firefox驱动程序.
代码卡住了,根本无法识别元素.
有没有像QTP,selenium那样的webdriver的等待机制?
解决方法
只需使用
FluentWait级:
/** * An implementation of the {@link Wait} interface that may have its timeout * and polling interval configured on the fly. * * <p>Each FluentWait instance defines the maximum amount of time to wait for * a condition,as well as the frequency with which to check the condition. * Furthermore,the user may configure the wait to ignore specific types of * exceptions whilst waiting,such as * {@link org.openqa.selenium.NoSuchElementException NoSuchElementExceptions} * when searching for an element on the page. * * <p>Sample usage: * <code><pre> * // Waiting 30 seconds for an element to be present on the page,checking * // for its presence once every 5 seconds. * Wait<WebDriver> wait = new FluentWait<WebDriver>(driver) * .withTimeout(30,SECONDS) * .pollingEvery(5,SECONDS) * .ignoring(NoSuchElementException.class); * * WebElement foo = wait.until(new Function<WebDriver,WebElement>() { * public WebElement apply(WebDriver driver) { * return driver.findElement(By.id("foo")); * } * }); *