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() #关闭所有窗口
posted @ 2020-06-25 21:36  月半王令  阅读(68)  评论(0编辑  收藏  举报