比较下 下面的代码 隐式等待
2016-03-04 14:30
387 查看
/** * getCurrentURL:(get the current page URL address). * @author huchan * @param driver --- the web driver instance * @return String ---the url of current page * @since JDK 1.6 */ public String getCurrentPageURL(){ String pageurl=""; JavascriptExecutor je=(JavascriptExecutor) driver; final String docstate=(String) je.executeScript("return document.readyState"); logger.info("Current loading page state is:"+docstate); WebDriverWait wait=new WebDriverWait(driver,120); ExpectedCondition<Boolean> ec = new ExpectedCondition<Boolean>() { @Override public Boolean apply(WebDriver d) { return (docstate.equals("complete")); } }; try{ logger.info("We just wait for the current page load correctly now..."); wait.until(ec); pageurl=driver.getCurrentUrl(); logger.info("we found the current url is:"+pageurl); } catch(TimeoutException e){ pageurl="time out:120 seconds"; logger.error("Sorry the page cannot be loaded correctly:"+e.getMessage()+driver.getCurrentUrl()); } return pageurl; }
WebDriver driver = new FirefoxDriver(); driver.get("http://somedomain/url_that_delays_loading"); WebElement myDynamicElement = (new WebDriverWait(driver, 10)) .until(new ExpectedCondition<WebElement>(){ @Override public WebElement apply(WebDriver d) { return d.findElement(By.id("myDynamicElement")); }}); WebDriverWait wait = new WebDriverWait(driver, 10); WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
相关文章推荐
- 用Python编写简单的微博爬虫
- 代码摘录
- JavaMail发送邮件API简单介绍
- Python多线程编程(threading ):使用Lock互斥锁RLock
- Hexagon DSP SDK -- 工具和资源
- 根据c语言程序转换成汇编程序
- Riesz变换MATLAB代码
- [转]机器视觉代码大全
- 恢复matlab文件关联
- matlab坐标轴标注和特殊字体…
- Matlab 之meshgrid interp griddata interp2
- PHP跳转页面的几种实现方法详解
- struts2修改文件上传的大小
- 利用MATLAB视频函数工具箱的…
- 代码助理之注释
- [转载]MATLAB内存管理
- 初学php之 href和Action,get和post的区别
- VB.Net矩阵求特征值
- 搞不清FastCgi与PHP-fpm之间是个什么样的关系
- Python 代码调试技巧 (转载自:IBM developerWorks 张颖)