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();
}
}
}
}
Java+selenium+多窗口切换
猜你喜欢
转载自blog.csdn.net/weixin_40569991/article/details/80843639
今日推荐
周排行