zoukankan      html  css  js  c++  java
  • web自动化 -- 浏览器窗口切换

    切换浏览器窗口

    示例:

    from time import sleep
    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    url = "https://www.baidu.com"
    search_box = '//*[@id="kw"]'
    click_search = '//*[@id="su"]'
    
    driver = webdriver.Chrome()  # 定义 driver
    driver.implicitly_wait(10)  # 设置隐式等待,作用域是全局
    
    try:
        driver.get(url)
        driver.find_element_by_xpath(search_box).send_keys('有道云')  # 输入搜索关键字
        driver.find_element_by_xpath(click_search).click()  # 搜索
    
        # 窗口切换
        # setup1:获取所有窗口的句柄
        window_handle_list = driver.window_handles
        print('最开始的句柄列表:', window_handle_list)
    
        # 当前所在的窗口句柄
        now_window = driver.current_window_handle
    
        # 打开新窗口
        driver.find_element_by_xpath('//*[text()="官方"]').click()
        sleep(0.5)  # 打开新窗口就得 sleep() 一下
    
        # setup2:等待新窗口打开
        WebDriverWait(driver, 5).until(EC.new_window_is_opened(window_handle_list))
    
        # setup3:获取新窗口打开后的  所有窗口的句柄
        opened_window_handle_list = driver.window_handles
        print('打开新窗口的句柄列表:', opened_window_handle_list)
    
        # setup4:让句柄进入新窗口
        driver.switch_to.window(opened_window_handle_list[-1])  # 列表的 -1下标 就是最后一个,最后一个自然是最新打开的窗口
    
        # # 在新窗口内的其他操作
        driver.find_element_by_xpath('//*[@id="form-realname"]').send_keys(13290021660)
        sleep(1)
    
        # setup5:切换回其他窗口
        driver.switch_to.window(opened_window_handle_list[0])  # 列表的 0下标 就是最前一个窗口
    
        sleep(1)
        driver.quit()
    except Exception as e:
        driver.quit()
        raise e
  • 相关阅读:
    100多个淘宝抢的双11红包怎么用?最多才能累积使用15个
    灵动标签调用友情链接
    台湾短片:《血战古.宁.头》
    discuz_style_default.xml 修改
    discuz门户文章页面模板修改
    ps快捷键
    拍摄好的图片,如何抠图去背景纯白..
    Centos6.5安装rabbmitmq蛋碎
    好用的YUM源
    python_函数的参数
  • 原文地址:https://www.cnblogs.com/mua9102/p/12346557.html
Copyright © 2011-2022 走看看