Selenium - 10秒后离开webdriver

时间:2013-02-07 23:29:27

标签: 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.SECONDS);
driver.navigate().refresh(); 

点击后,我会在10秒后进入下一步,因为由于没有回答而导致治疗被阻止,即使没有回答我也希望它转到下一行。

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

如果您只是在执行刷新后等待页面上的元素加载,那将更受欢迎。这意味着您始终等待10秒,并且只会继续您的操作页面重新加载 或者,Thread.Sleep(10000)将等待10秒,如Smit在评论中建议的那样。

答案 2 :(得分:0)

我的建议是使用Thread.sleep()不是明智之举。您可以使用Selenium Implicit WaitExplicit Wait

查看Reference的帖子。