首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >driver.wait()抛出IllegalMonitorStateException

driver.wait()抛出IllegalMonitorStateException
EN

Stack Overflow用户
提问于 2011-05-02 22:59:42
回答 5查看 30.8K关注 0票数 11

wait(...)的所有变体从下面的代码中抛出下面的异常。我做错了什么?

代码语言:javascript
代码运行次数:0
运行
复制
java.lang.IllegalMonitorStateException
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at LoginPage.main(LoginPage.java:29)

try
        {
            driver.get("http://domain:port/coco/webapp/login/login.faces");

            driver.findElement(By.id("clientCode")).sendKeys("coco");
            driver.findElement(By.id("systemCode")).sendKeys("consumer");
            driver.findElement(By.id("userId")).sendKeys("ffadmin");
            driver.findElement(By.id("password")).sendKeys("password");

            driver.findElement(By.className("af_commandButton")).click();
            driver.wait();
            Assert.assertTrue(driver.getPageSource().contains("Administration"));

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-02 23:01:07

如果使用synchronized获取了对象的锁,则只能对该对象执行wait操作。

我不知道你是否打算通过WebDriver来使用wait -如果你是的话,你需要像这样的东西:

代码语言:javascript
代码运行次数:0
运行
复制
synchronized (driver)
{
    driver.wait();
}

但是,如果您正在等待某些事情的发生,则更有可能是您打算使用的另一种方法。也许是WebDriverWait

票数 26
EN

Stack Overflow用户

发布于 2011-05-03 13:32:13

我希望这对你有帮助

代码语言:javascript
代码运行次数:0
运行
复制
driver.manage().timeouts().implicitlyWait(long time, java.util.concurrent.TimeUnit unit); 

代码语言:javascript
代码运行次数:0
运行
复制
WebDriverWait wait = new WebDriverWait(driver, long timeOutInSeconds);

WebElement element = wait.until(presenceOfElementLocated(org.openqa.selenium.By locator));

请注意,我没有执行这段代码,因为我没有webdriver,但我是在引用javadoc之后编写的。

有关这方面的更多详细信息,请参阅javadocs

票数 9
EN

Stack Overflow用户

发布于 2019-10-26 20:08:13

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);是最好的解决方案。否则,您已经通过synchronize块包围了driver.wait

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5858743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档