Java Selenium-10秒后离开webdriver单击

Java Selenium-10秒后离开webdriver单击,java,selenium,webdriver,Java,Selenium,Webdriver,你知道在有限的时间内执行一个动作的方法吗? 就我而言,我使用的是webdriver。 当我验证一个表单操作时,它完成得很好,但是页面在循环中运行。我想在点击后等待10秒,然后强制刷新页面 // action that I would leave after 10 seconds driver.findElement(By.id("submit")).click(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECON

你知道在有限的时间内执行一个动作的方法吗? 就我而言,我使用的是webdriver。 当我验证一个表单操作时,它完成得很好,但是页面在循环中运行。我想在点击后等待10秒,然后强制刷新页面

// action that I would leave after 10 seconds
driver.findElement(By.id("submit")).click();    

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.navigate().refresh(); 

点击后,我会在10秒后进入下一步,因为治疗因为没有答案而被阻止,我希望它进入下一行,即使没有答案


感谢您的帮助。

如果您在执行刷新后等待页面上的元素加载,您会更愿意这样做。这意味着您不必总是等待10秒钟,只需在重新加载页面后继续操作。

或者,Thread.Sleep(10000)将按照Smit在注释中的建议等待10秒。

我的建议是使用
线程。Sleep()是不可取的。您可以使用Selenium
隐式等待
显式等待


请参阅帖子。

在单击提交后使用Thread.sleep(10000)等待以刷新要执行的下一个操作,因为使用隐式等待或显式等待时,它不会等待10秒。它将等待,直到下一个操作按钮对其可见。它可能是2秒、5秒或8秒,具体取决于服务器的响应时间。所以最好使用Thread.sleep(10000)。

我认为您可以使用
显式等待
,也可以使用
Thread.sleep(10000)
。我更喜欢显式等待,而不是线程。对不起,我是新手,我尝试了这个,但不起作用:WebDriverWait wait=newwebdriverwait(driver,30);等到(driver.findElement(By.id(“提交”))。单击();请澄清一下。单击按钮后,您需要10秒的间隔来刷新页面。我说得对吗?单击按钮后,我会在10秒后进入下一步,因为治疗因为没有答案而被阻止,即使没有答案,我也希望它进入下一行。如果您不关心是否出现另一个对象,我同意这个答案,但是只要等待10秒钟,最好的方法就是Thread.Sleep.In,在这种情况下,您不需要设置隐式等待的语句。但是,如果需要查看某个对象是否出现,则可以使用implicitwait。原因是隐式等待时间仅在您对对象使用findelement或findelements方法时有效。@Buddha-是的,您是正确的,隐式等待时间仅在我们使用findelement或findelements方法时有效。