【八】多浏览窗口处理

  想在多个窗口之间切换,首先要获得每一个窗口的唯一标识符号(句柄)。通过获得的句柄来区别
分不同的窗口,从而对不同窗口上的元素进行操作。

# -*- coding:utf-8 -*-

import time

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
print("当前句柄", driver.current_window_handle)

# 获取当前窗口baidu句柄
bd_handle = driver.current_window_handle
driver.find_element_by_link_text("hao123").click()
print("当前句柄", driver.current_window_handle)
# 获取所有句柄
all_handle = driver.window_handles

# 判断当前句柄是否是当前窗口
now_handle = driver.current_window_handle
if now_handle != all_handle[-1]:
    driver.switch_to.window(all_handle[-1])
    print("切换回hao123窗口")

print("当前句柄", driver.current_window_handle)

time.sleep(3)

# 打开腾讯网
driver.find_element_by_link_text("腾讯").click()

# 获取当前句柄
print("当前句柄", driver.current_window_handle)

# 获取所有句柄
all_handle = driver.window_handles
print(all_handle)

now_handle = driver.current_window_handle
if now_handle != bd_handle:
    driver.switch_to.window(bd_handle)
    print("切换回百度窗口")

time.sleep(3)
driver.quit()

 

posted on 2020-09-19 21:12  别动我的锅  阅读(60)  评论(0)    收藏  举报

导航

levels of contents