python切换句柄相同的窗口_python+selenium五:多窗口切换与获取句柄

本文演示了如何使用Python的Selenium库进行窗口句柄管理,包括获取当前句柄、新开窗口句柄、切换窗口句柄以及判断切换是否成功的方法。示例代码中展示了在Ganji网站上打开新窗口、切换窗口并验证标题,最后关闭窗口和退出进程的操作。
摘要由CSDN通过智能技术生成

e34d5e836a3c442b014686e02f8268d0.png

from selenium import webdriver

from selenium.webdriver.common.by import By

import time

driver = webdriver.Firefox()

driver.get("http://bj.ganji.com/")

time.sleep(3)

# 1、获取句柄

# 获取当前的handle名字

handle = driver.current_window_handle

print("获取到当前的handle:%s" % handle)

99d5e81cc6c07674962f2861c4517f4d.png

# 获取点击后新开页面的handle名字

driver.find_elements_by_class_name("dt-t")[0].click()

handle1 = driver.current_window_handle

print("获取到当前的handle:%s" % handle1)

ec96f2aed9513c1b79d94d5209a00d5f.png

# 获取全部的handle

handles = driver.window_handles

print(handles)

print(type(handles)) # 结果为list类型

2d8036f688243339a4f0bfdade0bd81a.png

# 2、切换句柄

# 切换到最后一个窗口

driver.switch_to_window(handles[-1])

driver.switch_to.window(handles[-1])

d17f3d7bce5bbc195f2216da872915d7.png

# 判断是否切换成功:

# 可根据title判断

print(driver.title)

# 可根据页面唯一元素判断

# 新页面的元素操作完了,回到第一个页面

driver.close() # 关闭当前窗口

driver.switch_to_window(handle)

print(driver.title)

# 复数定位的时候,如果页面无刷新,可以直接用一次定位复数的list

# 页面有刷新的时候,需要重新定位

# 关闭全部窗口,退出进程

driver.quit()

9af52da6d3eec8804a958110c037bfde.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值