java+selenium——打开多个窗口,并切换窗口——方法三

package rjcs;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Set;

import org.openqa.selenium.interactions.Actions;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.testng.annotations.Test;
import org.openqa.selenium.*;

import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import org.openqa.selenium.OutputType;

import com.thoughtworks.selenium.SeleneseTestNgHelper;

public class ckqhh
{
    public static void main(String[] args)

    {
         System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");    //设置火狐的安装路径,防止系统找不到

         FirefoxDriver driver = new FirefoxDriver();        //初始化FireFox浏览器实例,并打开浏览器

        try
        {
             driver.manage().window().maximize();         //最大化窗口

             Thread.sleep(3000);        

             driver.manage().window().maximize();         //最大化窗口

             Thread.sleep(3000);

             driver.get("https://www.baidu.com");                    //打开一个网址,方法一     

             ArrayList<String> list=new ArrayList<String>();
             list.add(driver.getWindowHandle());

             Thread.sleep(3000);                  

              driver.findElementByPartialLinkText("设为主页").click();
             list.add(driver.getWindowHandle());

             Thread.sleep(3000);  

             System.out.print(list);

             Thread.sleep(3000);   

           String handle = driver.getWindowHandle(); // 获取所有页面的句柄,并循环判断不是当前的句柄 

           for (String te : list)
           {
               if (!handle.equals(te))
                   driver.close();
               driver.switchTo().window(te);
           }

             Thread.sleep(8000); 

        }catch (Exception e)
        {
            e.printStackTrace();
        }finally
        {
            driver.quit();

         }
   }

}

原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12216117.html

时间: 2024-11-14 02:22:56

java+selenium——打开多个窗口,并切换窗口——方法三的相关文章

WebDriver(Selenium2) 根据新窗口title切换窗口

http://uniquepig.iteye.com/blog/1559321 在webdriver官方的api中,切换窗口的方法提供的参数是nameOrHandle. 引用 http://uniquepig.iteye.com/blog/1559321 WebDriver window(java.lang.String nameOrHandle)           Switch the focus of future commands for this driver to the windo

java+selenium——打开多个窗口,并切换窗口——方法一

先来解释下什么是句柄,有时候浏览器的窗口句柄,也叫windows id,英文单词更好理解. 你打开了一个浏览器,你开一个tab,就生成了一个id,这个id直到你关闭这个tab才会消失. 如果你在一个浏览器上打开多个tab,那么就有多个windows id,为什么你关闭其中一个tab,但是不影响其他tab的显示,就是这个id的作用. 本文就是要介绍如何获得浏览器窗体的句柄或者叫编号,为后面的driver实例在多个窗体之间切换做准备. 我们先看看浏览器只开一个tab,也就是只有一个windows句柄

java+selenium——打开多个窗口,并切换窗口——方法二

package rjcs; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.List; import java.util.Set; import org.openqa.selenium.interactions.Actions; import org.apache.commons.io.FileUtils; import org.openqa.selenium.TakesScreensh

使用selenium+python;在页面A点击一个按钮跳转到页面B,页面A没有关闭,浏览器打开了一个B,切换窗口定位页面B的元素

转自:http://blog.csdn.net/hhabc123456789/article/details/21862139 # -*- coding:cp936 -*-__author__ = 'Administrator' import unittest,time,refrom selenium import webdriver class Untitled(unittest.TestCase):    def setUp(self):        self.driver = webdr

java+selenium——打开网页并输入点击

package rjcs; import org.openqa.selenium.firefox.FirefoxDriver; public class chuangkou { public static void main(String[] args) { System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //设置

js弹出新窗口的6中方法

注: //关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javascript>window.close();</script>"); //关闭,父窗口和子窗口都不弹出对话框,直接关闭 this.Response.Write("<script>"); this.Response.Write("{top.opener =null;top.close();}

Java Selenium (十二) 操作弹出窗口 &amp; 智能等待页面加载完成 &amp; 处理 Iframe 中的元素

一.操作弹出窗口   原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄, 然后遍历, 使用swithcto.window(newwindow_handle)方法. 就可以定位到新的窗口. 测试页面的HTML <html> <head> <title>常见web ui元素操作, 及API使用</title> <script type

selenium 切换窗口的几种方法

第一种方法: 使用场景: 打开多个窗口,需要定位到新打开的窗口 使用方法: # 获取打开的多个窗口句柄 windows = driver.window_handles # 切换到当前最新打开的窗口 driver.switch_to.window(windows[-1]) 举例说明: 1 # _._ coding:utf-8 _._ 2 3 """ 4 :author: 花花测试 5 :time: 2017.05.03 6 :content: 使用第一种方法切换浏览器 7 &q

Selenium切换窗口,使用js命令

在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作. WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切换. 以百度首页和百度注册页为例,在两个窗口之间的切换如下图. from selenium import webdriver import time driver = webdriver.Firefox() driver.implicitly_wait(10) driver.get("http://www.ba