zoukankan      html  css  js  c++  java
  • 切换浏览器窗口的几种方法

    第一种方法:

    使用场景: 打开多个窗口,需要定位到新打开的窗口

    使用方法:

    # 获取打开的多个窗口句柄
    windows = driver.window_handles
    # 切换到当前最新打开的窗口
    driver.switch_to.window(windows[-1])

    第二种方法:

    # 获得打开的第一个窗口句柄
    window_1 = driver.current_window_handle
    # 获得打开的所有的窗口句柄
    windows = driver.window_handles
    # 切换到最新的窗口
    for current_window in windows:
     if current_window != window_1:
      driver.switch_to.window(current_window)

    1、第一种方法比较简单,能提升整体代码的性能

    2、第二种方法是大家最常用的方法,比较容易理解

    使用js切换窗口

    from selenium import webdriver
    import time
    #设置变量
    url="http://www.baidu.com"
    #打开浏览器
    br=webdriver.Chrome()
    br.maximize_window()
    #打开百度
    br.get(urla)
    
    #通过JS打开新窗口
    js='window.open("https://blog.csdn.net");'
    br.execute_script(js)
    time.sleep(3)
    
    #获取当前句柄(百度)
    handlea=br.current_window_handle
    
    #获取所有句柄
    handles=br.window_handles
    print(handles)
    
    #获取csdn句柄
    for handle in handles:
        if handle != handlea:
            handleb = handle
    
    # 输出CSDN句柄
    print('switch to ', handleb)
    br.switch_to.window(handleb)
    time.sleep(3)
    #关闭CSDN界面 
    br.close()
    
    # 切换回百度窗口
    print('switch Baidu ',handlea)
    br.switch_to.window(handlea)
    time.sleep(3)
    #关闭浏览器
    br.quit()
  • 相关阅读:
    Django-admin导出到表格
    Django1.11.4中文文档
    Django+uwsgi+nginx+angular.js项目部署
    angular.js 入门
    枚举类型的总结
    基于websocket的页面聊天程序
    java网络编程(三):一个类似QQ的聊天程序
    java网络编程(二)
    java网络编程(一)
    java中的序列化与反序列化,还包括将多个对象序列化到一个文件中
  • 原文地址:https://www.cnblogs.com/lvchengda/p/12626937.html
Copyright © 2011-2022 走看看