Tag: webdriver

Selenium WebDriver:流畅的等待按预期工作,但隐含的等待不会

我是Selenium WebDriver的新手,并试图理解“等待”元素出现的正确方法。 我正在测试一个包含单选按钮答案的问题。 当您选择答案时,Javascript可以启用/禁用页面上的一些问题。 问题似乎是Selenium“点击得太快”而不是等待Javascript完成。 我试图用两种方法来解决这个问题 – 明确的等待解决了这个问题。 具体来说,这工作,并解决了我的问题: private static WebElement findElement(final WebDriver driver, final By locator, final int timeoutSeconds) { FluentWait<WebDriver> wait = new FluentWait<WebDriver>(driver) .withTimeout(timeoutSeconds, TimeUnit.SECONDS) .pollingEvery(500, TimeUnit.MILLISECONDS) .ignoring(NoSuchElementException.class); return wait.until(new Function<WebDriver, WebElement>() { public WebElement apply(WebDriver webDriver) { return driver.findElement(locator); } }); } 但是,我宁愿使用隐式等待而不是这个。 我有我的网络驱动程序配置像这样: driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 这不能解决问题,我得到一个NoSuchElementException。 另外,我没有注意到10秒的停顿 – 它只是立即出错。 […]