Selenium切换浏览器窗口

2020年1月2日 1.47k 次阅读 0 条评论 1 人点赞

前言

本文讲解如何通过Selenium-Webdriver获取多个浏览器窗口句柄,并在浏览器窗口之间互相切换。

最近有同学问到这个问题,之前也写过该部分内容。现在单独拿出这部分,方便查找。

实现方式

#Baidu.py
#www.testclass.cn
#Altumn
#2020-1-1 更新元素定位方法;

from selenium import webdriver
import time
import random

driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")

# 获得百度搜索窗口句柄
sreach_windows = driver.current_window_handle

driver.find_element_by_link_text("登录").click()
driver.find_element_by_link_text("立即注册").click()

# 获得当前所有打开的窗口的句柄
all_handles = driver.window_handles
# 序列中随机选取一个字符
Username = str(random.choice("www.testclass.cn"))

# 进入注册窗口
for handle in all_handles:
    if handle != sreach_windows:
        driver.switch_to.window(handle)
        print("Now Register Window!")
        driver.find_element_by_id("TANGRAM__PSP_4__userName").send_keys(Username)
        driver.find_element_by_id("TANGRAM__PSP_4__phone").send_keys("18888888888")
        time.sleep(5)
        
driver.quit()

风里云里,我在这里等你!

文章评论(0)