selenium 为跳转的页面进行操作 (权限的授予)

本文介绍如何利用selenium自动化测试工具,在页面发生跳转后,对新的页面进行操作,尤其是涉及到权限授予的场景。内容涵盖在页面1触发跳转到页面2后,如何在页面2上进行必要的交互和权限设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.ChaptDemo01;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

/**
 * Created by Administrator on 2018/5/28 0028.
 */
public class NewWindowsImplement {
    WebDriver driver;
    @BeforeMethod
    public void opendriver(){
        System.setProperty("webdriver.chrome.driver","E:\\browser\\chromedriver.exe");
        driver = new ChromeDriver();
    }

//对页面中跳转的新页面进行操作
//为新页面赋予权限  driver.switchTo().window(句柄值);

//打开新窗口  点击新窗口中的 百度链接
    @Test
public void testWindow() throws InterruptedException {
    driver.get("新建文件夹/selenium_html/index.html");
    WebElement oldWindow =driver.findElement(By.linkText("Open new window"));
    oldWindow.click();
    Thread.sleep(2000);

    //获取当前页面的句柄
    String handle = driver.getWindowHandle();
    //foreach语法
    //for(元素类型t 元素变量x : 遍历对象obj){
    // 引用了x的java语句;}
    // for 循环判断 获取到的handles是否等于当前页面  如果不等于就将权限赋予给跳转的页面
    for(String handles:driver.getWindowHandles()){
        //与第一个页面内的句柄比较  当句柄不予第一个相等时 就把权限赋予给了新窗口 只适用于两个窗口的情况
        if(handles.equals(handle)){
            continue;
        }else{
            //给要跳转的新界面进行权限赋予  要传入新页面的句柄
            driver.switchTo().window(handles);
        }
    }

    WebElement freshWindow = driver.findElement(By.linkText("baidu"));
    freshWindow.click();


}


    @AfterMethod
    public void Close() throws InterruptedException {
        Thread.sleep(2000);
        driver.quit();
    }
}

页面1


跳转的 页面2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值