Python Selenium新手求助:统计并逐个关闭多浏览器窗口
嘿,刚上手Python Selenium自动化的话,这个需求其实很好实现,我给你拆解成两步来做,保证清晰易懂~
第一步:统计并打印窗口数量
Selenium里可以通过driver.window_handles获取当前所有打开窗口的句柄列表,这个列表的长度就是窗口数量。直接打印就行:
# 先获取所有窗口句柄 all_windows = driver.window_handles # 统计并打印数量 print(f"当前打开的浏览器窗口总数:{len(all_windows)}")
第二步:逐个关闭所有窗口
这里要注意一个小坑:如果直接在循环里调用driver.window_handles,每次关闭一个窗口后,这个列表会动态变化,可能导致遍历不完整。所以一定要先把所有句柄存到一个固定列表里,再逐个切换过去关闭:
# 遍历预先保存的窗口句柄列表 for handle in all_windows: # 切换到当前窗口 driver.switch_to.window(handle) # 关闭这个窗口 driver.close() # 最后别忘了退出整个浏览器进程(可选,如果你确认所有窗口都关了,quit能彻底释放资源) driver.quit()
简单解释下:driver.close()是关闭当前聚焦的窗口,而driver.quit()是退出整个浏览器驱动进程,清理所有相关资源。如果你已经逐个关闭了所有窗口,最后调用quit会更稳妥,避免残留进程。
这样操作下来,就能完美实现统计窗口数量+逐个关闭的需求啦~
内容的提问来源于stack exchange,提问作者Santosh
相关产品推荐
相关产品推荐

