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异常。在页面元素进行刷新后,再次对此元素进行操作则会抛出这个异常。所以可以根据这个作为标识判断页面是否刷新。或者是否跳转到下一个页面。能灵活设定等待时间。并且能够统计刷新时间。
本文介绍了一种使用Selenium检测页面是否刷新的方法。通过捕获StaleElementReferenceException异常来判断页面是否完成刷新,并统计刷新所需的时间。此方法适用于页面元素在刷新后变得不可用的情况。
1095

被折叠的 条评论
为什么被折叠?



