2019独角兽企业重金招聘Python工程师标准>>>

代码如下

package selenium_Test;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.*;
import org.openqa.selenium.WebDriver.*;
public class Collection {public static void main (String args[]) throws Exception{System.setProperty("webdriver.firefox.bin", "E:\\software\\firefox\\firefox.exe");WebDriver driver=new FirefoxDriver();driver.navigate().to("http://www.jd.com");        System.out.println("检查是否进入京东首页:"+driver.getCurrentUrl().equals("http://www.jd.com/"));driver.findElement(By.id("key")).sendKeys("2269");driver.findElement(By.className("button")).click();System.out.println("检查搜索页面是否跳转正确:"+driver.getCurrentUrl().equals("http://search.jd.com/Search?keyword=2269&enc=utf-8"));driver.findElement(By.partialLinkText("AOC I2269VW 21.5英寸LED背光超窄边框IPS广视角液晶显示器(银色)")).click();System.out.println("检查是否进入之前选择的商品页面:"+driver.getCurrentUrl().equals("http://item.jd.com/845638.html"));
//        System.out.println("检查商品价格是否准确:"+driver.findElement(By.id("jd-price]")).getText().contains("¥869.00"));driver.quit();}
}

执行结果:

检查是否进入京东首页:true
检查搜索页面是否跳转正确:true
检查是否进入之前选择的商品页面:false

问题描述请看博客摘要

解决方案一(他人给予,科学的方法):

package com.TestNG.Selenium;import java.util.Iterator;
import java.util.Set;import org.openqa.selenium.*;
import org.openqa.selenium.firefox.*;
import org.openqa.selenium.WebDriver.*;
public class a23 { public static void main (String args[]) throws Exception    {         System.setProperty("webdriver.firefox.bin", "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");        WebDriver driver=new FirefoxDriver();        driver.navigate().to("http://www.jd.com ");            System.out.println("检查是否进入京东首页:"+driver.getCurrentUrl().equals("http://www.jd.com/"));       driver.findElement(By.id("key")).sendKeys("2269");      driver.findElement(By.className("button")).click();     System.out.println("检查搜索页面是否跳转正确:"+driver.getCurrentUrl().equals("http://search.jd.com/Search?keyword=2269&enc=utf-8"));     driver.findElement(By.partialLinkText("AOC I2269VW 21.5英寸LED背光超窄边框IPS广视角液晶显示器(银色)")).click(); Thread.sleep(2000);driver=switchWindow(driver,"【AOCI2269VW】AOC I2269VW 21.5英寸LED背光超窄边框IPS广视角液晶显示器(银色)【行情 报价 价格 评测】-京东");Thread.sleep(5000);String url1=driver.getCurrentUrl();System.out.println(url1);System.out.println("检查是否进入之前选择的商品页面:"+driver.getCurrentUrl().equals("http://item.jd.com/845638.html")); //        System.out.println("检查商品价格是否准确:"+driver.findElement(By.id("jd-price]")).getText().contains("¥869.00"));                 driver.quit();               } } }//使用这个。 函数是:switch windowprivate static WebDriver switchWindow(WebDriver dr,String winTitle){String currentHandle =dr.getWindowHandle();//获取当前浏览器窗口标识Set<String> handles=dr.getWindowHandles();for(String handle:handles){  //获取所有浏览器窗口标识if(handle.equals(currentHandle))continue;else{dr.switchTo().window(handle);if(dr.getTitle().contains(winTitle)){break;}elsecontinue;}}             return dr;  }
}

执行结果如下:

检查是否进入京东首页:true
检查搜索页面是否跳转正确:true
http://item.jd.com/845638.html
检查是否进入之前选择的商品页面:true

解决方案二(自己瞎弄的,居然还成功了):

package com.TestNG.Selenium;import org.openqa.selenium.*;
import org.openqa.selenium.firefox.*;
import org.openqa.selenium.WebDriver.*;
public class Collection {public static void main (String args[]) throws Exception{System.setProperty("webdriver.firefox.bin", "D:\\软件\\浏览器\\firefox\\firefox.exe");WebDriver driver=new FirefoxDriver();driver.navigate().to("http://www.jd.com");        System.out.println("检查是否进入京东首页:"+driver.getCurrentUrl().equals("http://www.jd.com/"));driver.findElement(By.id("key")).sendKeys("2269");driver.findElement(By.className("button")).click();System.out.println("检查搜索页面是否跳转正确:"+"http://search.jd.com/Search?keyword=2269&enc=utf-8".equals(driver.getCurrentUrl()));//重点在这里,跑一边,句柄无法捕捉,但是跑2遍就会被捕捉(看来系统也是关爱努力的人的,玩笑。。)driver.findElement(By.partialLinkText("AOC I2269VW 21.5英寸LED背光超窄边框IPS广视角液晶显示器(银色)")).click();driver.findElement(By.partialLinkText("AOC I2269VW 21.5英寸LED背光超窄边框IPS广视角液晶显示器(银色)")).click();String[] handle=new String[driver.getWindowHandles().size()];driver.getWindowHandles().toArray(handle);System.out.println("打开了"+handle.length+"个网页");driver.switchTo().window(handle[2]);System.out.println("检查是否进入之前选择的商品页面:"+driver.getCurrentUrl().equals("http://item.jd.com/845638.html"));driver.quit();}
}

执行结果如下:

检查是否进入京东首页:true
检查搜索页面是否跳转正确:true
打开了3个网页
检查是否进入之前选择的商品页面:true

良言:希望众位能使用第一种方法,毕竟第二张是我瞎弄的,我不能保证将来不出错,而第一种,目前,大家都在使用。

转载于:https://my.oschina.net/Early20/blog/363303

关于getCurrentUrl的获取问题相关推荐

  1. Magento 获取当前店铺信息(首页,类别,地址等)

    众所周知,Magento的多店铺功能非常强大,通过多店铺功能,我们可以在一个Magento应用当中创建在外观上看来完全不相关联的多个店铺,并且可以绑定不同的域名.在Magento的开发当中,经常需要获 ...

  2. Magento获取当前页面URL地址

    Magento获取当前页面URL地址 http://www.sunhaibing.com/?p=1260 在Magento中,可以通过core/url助手类中的getCurrentUrl()方法获取当 ...

  3. 预见自动化测试 | 基于 SELENIUM 的自动化测试架构

    基于 SELENIUM 的自动化测试架构 非常感谢各位查阅本篇文章,笔者在此感谢各位. 目前市面上有分门别类的自动化测试工具,这篇文章将讨论开源自动化测试工具 Selenium的使用,以及围绕该工具进 ...

  4. selenium常用命令之操作页面元素及获取元素内容的事件整理

    /**id <input type="text" id="phone" name="phone" class="LoginT ...

  5. 获取PHP中的完整URL

    我使用以下代码来获取完整的URL: $actual_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; 问题是我在.htacces ...

  6. Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍

    1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...

  7. magento block 程序中获取各种url及绝对路径的方法

    magento block 程序中获取各种url的方法 Mage::getBaseUrl('media') //可获得 media 带 http 的url 地址.//同理也可以获得skin 和js 目 ...

  8. 使用Selenium获取银行账户余额

    银行卡很多,每次查看余额多要进入每个银行网站进行查看,于是就想到如何通过程序自动获取,网上查了些资料,一般用selenium做自动化测试,然后就学了下selenium,写了建行.招行.平安.陆金所,不 ...

  9. php获取公众号微信用户信息

    error_reporting(1); header('Content-type:text/html; Charset=utf-8'); /* 配置开始 */ $appid = ''; //微信公众平 ...

最新文章

  1. 局域网共享文件夹设置
  2. DevExpress的TreeList怎样设置数据源,从实例入手
  3. html5 can,微软想要从HTML5中分离Can
  4. c语言单元测验,C语言程序设计单元测验一.PDF
  5. oracle的本地安装和PUTTY+XMING远程连接安装和oracle翻页功能
  6. 开挂的人生: 本科生发Nature和 Science
  7. ajax方式表单拦截
  8. 新时代、新挑战、新机遇
  9. List集合操作二:排序
  10. webflux解决get请求中文乱码问题
  11. mysql护眼参数,VS2013设置护眼背景颜色
  12. 2019年个人所得税计算机模板,2019年最新个税计算Excel模版,人手一份!
  13. 三极管工作原理及测定
  14. vue全局引入openlayers_vue+openlayers绘制省市边界线
  15. python3爬虫(4)各种网站视频下载方法
  16. oppo怎么广告接入_OPPO广告分模块投放的正确打开方式
  17. Designing Websites for Performance 如何设计高性能网站 Lynda课程中文字幕
  18. 使用XMAPP启动MySQL出现Error: MySQL shutdown unexpectedly 的解决办法
  19. 一步一步构建量化交易系统
  20. 实例011阳阳买苹果 阳阳买苹果,每伞苹果0.8元,阳阳第一天买两个苹果,第二天开始每天买前一天的两倍, 直到购买的苹果个数为不超过100的最大值, 编程求阳阳每天平均花多少钱?

热门文章

  1. Linux vim使用心得--一些高级话题
  2. SQL SERVER读书笔记:nolock
  3. 采用Lists.UpdateListItems方法更新列表项各种类型值的写法
  4. 如此智能的Windows Embedded Standard 7
  5. 二叉树表达规定形式的代数表达式并计算表达式结果(无明显缺陷版本)
  6. 路由器和交换机分别起什么作用,它们之间有什么区别?
  7. 11个提升编程能力的小方法
  8. 开发工具使用技巧和插件大总结
  9. mysql 字符串分区_Mysql分区表的原理和优缺点
  10. linux 权限属性,linux 文件或目录的权限和属性