Java+selenium+多窗口切换

package selenium;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import java.util.Set;

public class windows {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "D:\\software\\java-jar+utils\\seleniumForChrome\\chromedriver2.40_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("http://www.baidu.com");
        //获得当前窗口句柄
        String search_handle=driver.getWindowHandle();
        //打开百度注册窗口
        System.out.println(search_handle);
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        driver.findElement(By.linkText("登录")).click();
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        driver.findElement(By.linkText("立即注册")).click();
        //获得所有窗口句柄
        Set<String> handles=driver.getWindowHandles();
        //判断是否为注册窗口,并操作注册窗口上的元素
        for (String handle:handles){
            if (handle.equals(search_handle)==false){
                //切换到注册页面
                driver.switchTo().window(handle);
                System.out.println("now register window!");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                driver.findElement(By.name("userName")).sendKeys("l65rfhj66");
                driver.findElement(By.name("phone")).sendKeys("1654339959");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                driver.close();
            }
        }
        //判断是否为百度首页,并操作首页上的元素
        for (String handle:handles){
            if (handle.equals(search_handle)){
                //切换到注册页面
                driver.switchTo().window(handle);
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                driver.findElement(By.className("close-btn")).click();
                driver.findElement(By.id("kw")).sendKeys("webdriver");
                driver.findElement(By.id("su")).click();

            }
        }










    }
}

猜你喜欢

转载自blog.csdn.net/weixin_40569991/article/details/80843639