Java waitForCondition不工作,但Thread.sleep使脚本工作

Java waitForCondition不工作,但Thread.sleep使脚本工作,java,selenium,Java,Selenium,当我应用Thread.sleep(2000)应用程序运行良好,但在waitForCondition上它失败了。有没有更好的方法来使用waitForCondition函数?请提供一些例子。我们能在waitForCondition中给出//h1[@class='some']吗?或者waitForCondition以特定的方式工作 我曾用过: selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='pagging-sectio

当我应用
Thread.sleep(2000)
应用程序运行良好,但在
waitForCondition
上它失败了。有没有更好的方法来使用
waitForCondition
函数?请提供一些例子。我们能在waitForCondition中给出
//h1[@class='some']吗?或者
waitForCondition
以特定的方式工作

我曾用过:

selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='pagging-section']\")","5000");
但这失败了
Thread.sleep
工作正常,但有人建议我不要使用这种方法


请与我分享如何正确使用
waitForCondition
以及其他更好的等待和查找元素并继续操作的方法。

selenium认为页面已加载与实际加载之间可能存在延迟。基本上,我也有同样的问题

我编写了自己的小框架来处理这种情况:在检查条件时,我使用了一个
Thread.sleep(200)
循环,它捕获了任何“未找到”的异常,并在超时后放弃(我用了20秒),效果非常好


使用
Thread.sleep()

“请与我分享…”请正确拼写单词。这不是文本消息。请尝试selenium.isElementPresent(“id=Paging部分”)检查您是否正确写入了可能存在的id名称:)是,它可以工作。。甚至我的代码也能工作…但有些时候失败了…我只是创建了这个线程来了解使用waitforCondition的更好方法。它也适用于任何类型的xpath,比如说//h1[@class='some']..ThankswaitForCondition实际上是一个循环,相当于您在selenium ide中收到的waitForElementPresnt的java代码..我正在寻找任何更好的方法,使它始终工作..@Tarun是的,它给出了一致的结果。如果有javascript在页面加载时执行,则必须给运行时间。您等待的元素可能是由javascript创建的。而且,即使没有这个问题,有时候你也需要等待!称之为selenium的bug,随你怎么说,但我们在CI盒上使用了大量的selenium测试,并且根据需要对我们进行了很好的验证。阅读详细的描述,我一定会假设你知道睡眠的缺点。今天我在尝试等待状态,但它对我不起作用,睡眠确实起作用。我几乎要使用sleep,但在使用条件睡眠时,我使用了一个循环来检查元素的存在。它成功了。你知道我现在的选择。。。