zoukankan      html  css  js  c++  java
  • selenium操作浏览器-窗口切换

    package seleniumLearn1;
    
    import java.util.Set;
    import java.util.concurrent.TimeUnit;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    public class Liulanqi2 {
    	public boolean switchToWindow(String windowTitle,WebDriver driver) {
    		boolean flag =false;
    		try {
    			String currentHandle = driver.getWindowHandle();//返回当前窗口句柄
    			System.out.println("FAQ的handle是=========currentHandle======="+currentHandle);
    			
    			Set<String> handles = driver.getWindowHandles();//返回所有窗口句柄
    			System.out.println("handles应该是有3个的:==="+handles.size());
    			for (String string : handles) {//遍历所有handles窗口
    				System.out.println("handle是===="+string);
    				if(string.equals("currentHandle")) {//如果窗口=FAQ的句柄
    					System.out.println("与FAQ的handle进行对比,是则输出--------------");
    					continue;//继续执行
    				}
    				else {//不是FAQ的句柄
    					System.out.println("不是FAQ的句柄=====");
    					driver.switchTo().window(string);//切换窗口到对应句柄如果不是FAQ的handle
    					if(driver.getTitle().contains(windowTitle)) {//切换窗口后,如果页面title=给的参数是首页
    						flag=true;//如果切换到首页的话,第一次打开URL进来的页面,则flag=true
    						System.out.println("Switch to window:"+windowTitle + "successfully!! 返回最初的页面OK");
    						break;
    					}else {
    						continue;
    					}
    				}
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    			System.out.printf("Window:" + windowTitle + "cound not found!",e.fillInStackTrace());
    			
    		}
    		
    		return flag;
    	}
    	public static void main(String[] args) {
    		System.setProperty("webdriver.chrome.driver", "E:\\webDriver\\chromedriverV2.28.exe");
    		WebDriver driver =new ChromeDriver();
    		driver.get("https://dev.bignox.com/");
    		String windowTitle = driver.getTitle();//获取一进来首页的title
    		driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
    		driver.findElement(By.linkText("Home")).click();
    		driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
    		driver.findElement(By.linkText("Blog")).click();
    		System.out.println("windowTitle============"+windowTitle);
    		Liulanqi2 l=new Liulanqi2();
    		l.switchToWindow(windowTitle, driver);
    		driver.quit();
    	}
    }
    

      

  • 相关阅读:
    做别人的舔狗还是让别人成为你的舔狗
    手机控制电脑第二弹之HIPC
    让你的手机缓存视频在电脑上播放
    Premiere Pro 2020安装教程
    Git与GitHub入门基础(二)
    Git与GitHub入门基础(一)
    题解-CF755G PolandBall and Many Other Balls
    题解-CF348E Pilgrims
    [AHOI2008]上学路线(最短路+最小割)
    [AHOI2014/JSOI2014]骑士游戏(SPFA认识)
  • 原文地址:https://www.cnblogs.com/sincoolvip/p/7453664.html
Copyright © 2011-2022 走看看