zoukankan      html  css  js  c++  java
  • 多表单切换、多窗口切换

    表单切换语法:switch_to.frame():默认可以直接对表单的ID或name属性传参。switch_to_default_content():回到最外层页面。

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("https://mail.163.com")
    driver.implicitly_wait(2)
    login_frame = driver.find_element_by_css_selector("iframe[id^='x-URS-iframe']")
    
    driver.switch_to.frame(login_frame)
                
    driver.find_element_by_name("email").send_keys("username")
    driver.find_element_by_name("password").send_keys("password")
    driver.find_element_by_id("dologin").click()
    
    driver.switch_to_default_content()
    
    driver.quit()

    2、多窗口切换:

    语法:switch_to.window():窗口切换;current_window_handle:当前窗口句柄;window_handles:所有窗口句柄

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    driver.get("https://www.baidu.com")
    
    #获得百度搜索窗口句柄
    search_window = driver.current_window_handle
    
    driver.find_element_by_link_text("登录").click()
    driver.find_element_by_link_text("立即注册").click()
    
    #获取当前所有打开窗口的句柄
    all_handles = driver.window_handles
    
    for handle in all_handles:
        if handle == search_window:
            #切换到搜索窗口句柄
            driver.switch_to.window(handle)
            print(driver.title)
            driver.close()
    """
    output:百度一下,你就知道
    """
  • 相关阅读:
    nginx入门
    nginx负载均衡算法
    Nginx+Tomcat搭建高性能负载均衡集群
    简单搭建dubbo
    webservice和restful的区别
    webservice、httpClient、dubbo的区别
    sublime 插件
    【exam answer 1】
    给定一个 1-100 的整数数组,请找到其中缺少的数字。
    Hibernate中clear()、evict()、flush()的方法使用说明
  • 原文地址:https://www.cnblogs.com/yijierui/p/13399930.html
Copyright © 2011-2022 走看看