webdirver初识_元素定位_03

Posted 月半王令

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webdirver初识_元素定位_03相关的知识,希望对你有一定的参考价值。

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() #关闭所有窗口

以上是关于webdirver初识_元素定位_03的主要内容,如果未能解决你的问题,请参考以下文章

Web元素定位方法_8大元素+xpath定位

WebDriver API__1.定位元素方法总览

seleium_元素定位

(selenium+python)_UI自动化04_定位iframe框架内元素

python_selenium元素定位_xpath

selenium_定位动态ID