[Selenium]通过Selenium实现在当前浏览器窗口点击一个图标之后,弹出另外一个窗口,关闭这个窗口,再回到原来的窗口进行操作

 java版:

public void clickReportIcon(){
        String initialWindowHandle = driver.getWindowHandle();  //保存原始的浏览器窗口
        page.getReportIcon().click();  //这个操作之后将会弹出另外一个浏览器窗口
        Set <String> set = driver.getWindowHandles();
        set.remove(initialWindowHandle);
        assert set.size()==1;
            driver.switchTo().window((String) set.toArray()[0]);  //将driver指向新弹出的浏览器窗口
        driver.close();  //关闭新弹出的浏览器窗口
        driver.switchTo().window(initialWindowHandle);  //回到原始的浏览器窗口
    }

 

python 版:

 

origPage = driver.current_window_handle  # 获得当前窗口
time.sleep(2)
#这里写点击一个按钮,弹出一个新页面
pages = driver.window_handles
try:
    # print('page1: ' + pages[1]) #curr
    driver.switch_to.window(pages[1]) #跳到新页面
    time.sleep(3)
    currPage = driver.current_window_handle #新页面句柄
    # print('--currPage: ' + currPage)
    time.sleep(3)
  except:
    print('跳转出错')
    returnResult = []
    driver.close() #关闭新页面
    driver.switch_to.window(oriPage)
    time.sleep(3)

driver.close() #关闭新页面
driver.switch_to.window(oriPage)    #回到原来页面
time.sleep(3)

 

posted @ 2015-04-23 14:41  *飞飞*  阅读(1848)  评论(0)    收藏  举报