Java selenium 常用方法

本文详细介绍了使用SeleniumWebdriver进行窗口管理,包括切换窗口、处理Alert弹窗以及进入和退出frame的方法。同时,也展示了如何操作下拉框选择项以及获取网页cookie值的示例代码。
摘要由CSDN通过智能技术生成

一、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();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值