zoukankan      html  css  js  c++  java
  • webdirver初识_元素定位_多表单多窗口切换

    from selenium import webdriver
    from time import sleep 
    """
    dr = webdriver.Chrome()
    dr.get("https://mail.qq.com/")
    sleep(3)

    #多表单切换
    #对于frame/iframe表单嵌套(多表单)场景,通过 switch_to.frame()方法将当前定位的主体切换为 frame/iframe表单的内嵌页面再定位元素
    dr.switch_to_frame("login_frame")  #iframe表单页签的id或name
    dr.find_element_by_css_selector("#qqLoginTab").click()
    dr.switch_to.parent_frame()  #切换上级
    """

    #多窗口切换
    dr = webdriver.Chrome()
    dr.get("https://w.mail.qq.com/cgi-bin/loginpage?f=xhtml")
    login_handle = dr.current_window_handle #获取当前窗口句柄
    print(login_handle)
    dr.find_element_by_id("zc").click() #进入到账号注册页
    sleep(5)
    all_handle = dr.window_handles  #获取所有窗口句柄

    for handle in all_handle:
        if handle != login_handle:
            dr.switch_to_window(handle)  #切换到要定位元素的窗口/句柄
            dr.find_element_by_class_name("nickname").send_keys("123456") #输入用户名
            dr.close()   #关闭当前窗口
     

    dr.quit() #关闭所有窗口
  • 相关阅读:
    编写属于自己的Linux Service命令
    Cloudera Manager和CDH4.1的安装
    html5基础教程收集整理精华
    Javascript跳转页面和打开新窗口等方法
    VK值列表
    标准C++之fstream
    PeekMessage用法
    Web系统常用测试方法
    VC控件的一些原理
    Visual C++ 文件操作
  • 原文地址:https://www.cnblogs.com/xlzhangq/p/13193045.html
Copyright © 2011-2022 走看看