selenium 学习笔记 ---新手学习记录(9) 问题总结(java)
2016-03-03 16:10
435 查看
1.百度搜索目标--实例
其中验证元素是否存在代码如下:
2.截图函数
boolean flag; //点击次数 int shcs=3; int i=0; //窗口焦点控制 String detailWindowHandle = null; //火狐浏览器 System.setProperty("webdriver.firefox.bin", "D:/Softwareinstallation/huohu/firefox.exe"); WebDriver driver = new FirefoxDriver(); driver.get("http://www.baidu.com"); driver.manage().window().maximize(); //获取主窗口header信息 String mainWindowHandle=driver.getWindowHandle(); Thread.sleep(2000); driver.findElement(By.id("kw")).sendKeys("17"); driver.findElement(By.id("su")).click(); Thread.sleep(3000); flag=bmm.isElementExsit(driver, By.linkText("17XUEe游戏学院首页")); System.out.println("flag="+flag); while(!flag) { System.out.println("ssssssss"); driver.findElement(By.linkText("下一页>")).click(); Thread.sleep(2000); flag=bmm.isElementExsit(driver, By.linkText("17XUEe游戏学院首页")); Thread.sleep(500); } while(i<shcs){ //点击游戏学院 driver.findElement(By.linkText("17XUEe游戏学院首页")).click(); //获取新窗口焦点 切换窗口 Set<String> handles=driver.getWindowHandles(); System.out.println(handles); Iterator<String> itWin=handles.iterator(); while(itWin.hasNext()){ String key=itWin.next(); if(mainWindowHandle.equals(key)){ continue; } detailWindowHandle=key; } WebDriver detailWindow = driver.switchTo().window(detailWindowHandle); Thread.sleep(2000); //关闭新打开的窗口 detailWindow.close(); handles.remove(detailWindowHandle); Thread.sleep(2000); //切换到主窗口 driver=driver.switchTo().window(mainWindowHandle); i++; System.out.println("点击第"+i+"次"); } Thread.sleep(3000); driver.close(); driver.quit(); }
其中验证元素是否存在代码如下:
/** * 验证元素是否存在 * */ public boolean isElementExsit(WebDriver driver, By locator) { boolean flag = false; try { WebElement element=driver.findElement(locator); flag=null!=element; } catch (NoSuchElementException e) { System.out.println("Element:" + locator.toString() + " is not exsit!"); flag=false; } return flag; }
2.截图函数
/** * 页面截图,并保存到指定位置 * */ public void pagePrintscreen(WebDriver driver,String paths){ File screenshotfile= ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); try { FileUtils.copyFile(screenshotfile, new File(paths)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
相关文章推荐
- [转]Java日期时间使用总结
- java的引用传递
- Java中的基本数据类型
- JAVA中的MD5加密,常见问题处理
- Spring 4.2.4.RELEASE MVC 学习笔记 - 6.3 - 中文乱码(咋个办呢 zgbn)
- Struts2(一)
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通