1

你知道在有限的时间内执行一个动作的方法吗?就我而言,我使用的是 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 秒后进入下一步,因为治疗被阻止,因为没有答案,我希望它即使没有答案也能进入下一行。

感谢您的帮助。

4

3 回答 3

3

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

于 2013-02-08T13:00:16.283 回答
0

我的建议是使用Thread.sleep()不是一个可取的。您可以使用 SeleniumImplicit WaitExplicit Wait.

请参阅帖子以供参考

于 2013-02-08T05:34:58.783 回答
0

如果您只是在执行刷新后等待页面上的元素加载,那将是更可取的。这意味着您并不总是等待 10 秒,而只会在页面重新加载后继续您的操作。
或者, Thread.Sleep(10000) 将按照 Smit 在评论中的建议等待 10 秒。

于 2013-02-08T00:32:02.467 回答