Selenium得到当前页面的URL

简介:
复制代码
    /**
         * 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;
        }
复制代码

不多说,代码如上。关键点是一定要等待页面加载完成了再使用driver.getCurrentUrl()方法,否则的话可能得到的页面URL 不正确。



本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/p/3357420.html ,如需转载请自行联系原作者。
目录
相关文章
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
Web App开发 前端开发 JavaScript
JavaScript动态渲染页面爬取——Selenium的使用(一)
JavaScript动态渲染页面爬取——Selenium的使用(一)
820 4
|
Web App开发 数据采集 JavaScript
JavaScript动态渲染页面爬取——Selenium的使用(二)
JavaScript动态渲染页面爬取——Selenium的使用(二)
764 2
|
网络协议 前端开发 JavaScript
浏览器加载网页的幕后之旅:从URL到页面展示详解
【8月更文挑战第31天】当在浏览器地址栏输入URL并回车后,一系列复杂过程随即启动,包括DNS解析、TCP连接建立、HTTP请求发送、服务器请求处理及响应返回,最后是浏览器页面渲染。这一流程涉及网络通信、服务器处理和客户端渲染等多个环节。通过示例代码,本文详细解释了每个步骤,帮助读者深入理解Web应用程序的工作机制,从而在开发过程中作出更优决策。
479 5
|
缓存 前端开发 JavaScript
输入URL到页面渲染的全过程
输入URL到页面渲染的全过程
228 1
|
JavaScript Linux 应用服务中间件
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
357 1
|
API UED 开发者
Vaadin路由魔法:导航之舟,带你穿越页面迷宫!驾驭神奇URL,解锁无限可能!
【8月更文挑战第31天】Vaadin是一款现代Java Web开发框架,其路由机制结合前后端路由,确保流畅的用户体验和高效服务器资源利用。通过`@Route`注解和`Router`类,开发者可以轻松定义和管理页面路径。例如,`@Route(&quot;home&quot;)`可指定视图路径,而参数化路由如`@Route(&quot;user/:userId&quot;)`则允许URL传参。此外,Vaadin还提供了丰富的导航API和自定义路由事件监听器,助力开发者构建结构清晰且体验优秀的Web应用。
445 0
|
缓存 网络协议 JavaScript
面试常考题:输入url到页面渲染发生了什么?(前半段)
面试常考题:输入url到页面渲染发生了什么?(前半段)
|
JavaScript 前端开发 网络协议
面试常考题: 输入url到页面渲染发生了什么(后半段)
面试常考题: 输入url到页面渲染发生了什么(后半段)

热门文章

最新文章