一、driver.switchTo() 方法
1、获取窗口
//获取当前窗口
String handle = driver.getWindowHandle();
//获取所以的窗口
Set<String> windowHandles = driver.getWindowHandles();
for (String h : windowHandles){
//判断获取到的其他窗口和目前窗口不一致,我们可以对窗口进行关闭或者进入窗口
//关闭当前窗口
if(h.equals(handle)){
driver.close();
}
//如果获取到的窗口和当前窗口不一致,进入新窗口
else if(!h.equals(handle)){
//在新窗口进行操作
WebDriver driver1 = driver.switchTo().window(h);
}
//返回旧窗口
// driver.switchTo().window(handle);
}
2、获取Alert 弹窗
//获取弹窗
Alert alert = driver.switchTo().alert();
//获取弹窗文本信息
String text = alert.getText();
//点击确认
alert.accept();
//点击取消
alert.dismiss();
3、获取frame
//如果我们知道frame的原理,我们可以通过frame的下标进入frame
//进入第一个frame,通常是最外面那个大的,然后frame里面会嵌套其他的frame
WebDriver frameDrive = driver.switchTo().frame(0);
//我们也可以通过element元素进入frame,比如frame的id属性
WebDriver driver1 = driver.switchTo().frame(driver.findElement(By.id("id的值")));
//通过frame的名称进入
driver.switchTo().frame("frame的名称");
//进入到父frame框架
driver.switchTo().parentFrame();
//进入到最顶层frame
driver.switchTo().defaultContent();
二、下拉框获取
//通过下拉框元素获取下拉框里的值
//先定位到下拉框的元素
WebElement element = driver.findElement(By.xpath("下拉框xpath值"));
Select select = new Select(element);
//有三种方式获取下拉框的值
//1、下拉框的文本显示
select.deselectByVisibleText("下拉框文本显示");
//2、下拉框的选项索引号
select.selectByIndex(0);
//3、下拉框属性
select.selectByValue("下拉框属性值");
三、获取cookie值
package com.selenium;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import java.util.Set;
public class DriverGetCookie {
public static void main(String[] args) {
WebTools webTools = new WebTools();
WebDriver driver = webTools.Open("firefox");
driver.manage().window().maximize();
driver.get("http://www.xxxx.com/index.php?");
Set<Cookie> cookies = driver.manage().getCookies();
for (Cookie cookie :cookies){
System.out.println(cookie.getName() +":"+ cookie.getValue());
}
driver.quit();
}
}