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异常。在页面元素进行刷新后,再次对此元素进行操作则会抛出这个异常。所以可以根据这个作为标识判断页面是否刷新。或者是否跳转到下一个页面。能灵活设定等待时间。并且能够统计刷新时间。
分享到:
相关推荐
Selenium2(也被称为Selenium WebDriver)是Selenium的最新版本,提供了与浏览器直接交互的能力,支持多种浏览器,如Chrome、Firefox、IE等。 一、Selenium2基础 1. **安装与配置**:首先,我们需要安装Python环境...
Selenium 的最新版本是 Selenium 2,它融合了 Selenium RC 和 WebDriver 的优点,提供了更强大的功能和更好的性能。WebDriver 是 Selenium 2 的核心组件,通过浏览器提供的原生能力来控制浏览器,而不是像 Selenium ...
Webdriver可以对页面中的元素进行各种操作,如点击、输入、提交表单、清除输入、获取元素的text、判断元素是否显示、判断元素是否可用、判断元素是否被选中等。例如,element=driver.find_element_by..element.click...
- **布隆过滤器**:一种空间效率极高的概率数据结构,用于判断元素是否在一个集合中。 - **关系型数据库MYSQL**:MySQL 数据库的基本操作,包括安装、常用命令等。 - **非关系型数据NOSQL**:介绍 NoSQL 数据库的...
【Python2.7 + Selenium2 实现淘宝滑块自动认证功能】 在自动化测试或网络爬虫领域,有时候我们需要模拟用户行为,例如登录、点击、填写表单等。在这个场景下,淘宝的滑块验证机制为自动化流程带来了一定的挑战。...
- 导入`Select`类:`from selenium.webdriver.support.select import Select` - 创建`Select`对象:`select = Select(element)` - 选择下拉框选项:`select.select_by_index(index)` 或 `select.select_by_value...
**页面刷新** 要持续刷新页面,Selenium 提供了 `refresh()` 方法,可以在达到特定条件之前周期性地调用此方法。这可能结合 `time.sleep()` 函数来设置每次刷新之间的间隔,以避免过于频繁的请求导致服务器负载过高...
- **增加条件判断**:为了防止不必要的重复刷新,可以在 `autoclick` 函数中加入条件判断逻辑,例如根据某个变量的状态来决定是否继续执行刷新操作。 - **使用更高级的库**:对于复杂的自动化任务,可以考虑使用如 ...