转:WebDriver(Selenium2) 判断页面是否刷新的方法

时间:2023-03-08 17:07:12
  1. public static boolean waitPageRefresh(WebElement trigger) {
  2. int refreshTime = 0;
  3. boolean isRefresh = false;
  4. try {
  5. for (int i = 1; i < 60; i++) {
  6. refreshTime = i;
  7. trigger.getTagName();
  8. Thread.sleep(1000);
  9. }
  10. } catch (StaleElementReferenceException e) {
  11. isRefresh = true;
  12. System.out.println("Page refresh time is:" + refreshTime + " seconds!");
  13. return isRefresh;
  14. } catch (WebDriverException e) {
  15. e.printStackTrace();
  16. } catch (InterruptedException e) {
  17. e.printStackTrace();
  18. }
  19. System.out.println("Page didnt refresh in 60 seconds!");
  20. return isRefresh;
  21. }}

说明: 从selenium 2.16开始 增加了StaleElementReferenceException异常。在页面元素进行刷新后,再次对此元素进行操作则会抛出这个异常。所以可以根据这个作为标识判断页面是否刷新。或者是否跳转到下一个页面。能灵活设定等待时间。并且能够统计刷新时间。