- public static boolean waitPageRefresh(WebElement trigger) {
- int refreshTime = 0;
- boolean isRefresh = false;
- try {
- for (int i = 1; i < 60; i++) {
- refreshTime = i;
- trigger.getTagName();
- Thread.sleep(1000);
- }
- } catch (StaleElementReferenceException e) {
- isRefresh = true;
- System.out.println("Page refresh time is:" + refreshTime + " seconds!");
- return isRefresh;
- } catch (WebDriverException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- System.out.println("Page didnt refresh in 60 seconds!");
- return isRefresh;
- }}
说明: 从selenium 2.16开始 增加了StaleElementReferenceException异常。在页面元素进行刷新后,再次对此元素进行操作则会抛出这个异常。所以可以根据这个作为标识判断页面是否刷新。或者是否跳转到下一个页面。能灵活设定等待时间。并且能够统计刷新时间。