java - Selenium Java 保持刷新页面直到元素可见
问题描述
Selenium Java 保持刷新页面直到元素可见。
我需要 Page 保持刷新,直到元素可见。
do{
driver.navigate().refresh();
//DEV
}while(!driver.findElement(By.xpath("//*[text()='UserID']")).isDisplayed());
此代码仅刷新一次。我需要保持刷新(10 次或更多)直到元素可见。
解决方案
如果findElement()
元素不存在,则抛出异常 - 因此循环旋转一次,抛出异常,然后循环停止。所以你需要处理:
boolean displayed = false;
do{
try{
displayed = driver.findElement(By.xpath("//*[text()='UserID']")).isDisplayed());
} catch (NoSuchElementException){
driver.navigate().refresh();
}
} while(!displayed);
如果添加一些计数器/最大计时器逻辑不会有任何伤害,否则如果元素没有出现,循环将无休止地旋转。
推荐阅读
- c# - 将 UserControl 放入 ContextMenu
- eclipse - 忽略 Eclipse Ivy IvyDE 插件中的 SSL 验证
- php - 在 PHP 中每 5 个句子替换新行
- amazon-web-services - 找不到 subnetId 的 S3 端点或 NAT 网关
- jquery - 通过 jQuery 更改文本
- r - 如何计算R中所有列中不为零的特征百分比?
- mysql - mysql左连接重复值需要-该列的行
- smalltalk - 如何将对象的类型存储在变量中?
- arrays - 如果条件匹配,打字稿数组删除项目
- php - SOAP API 错误:对象引用未设置为对象的实例