【Web自动化】第12讲 Selenium多窗口处理

多窗口

点击某些链接会重新打开一个窗口,若想在新页面操作,需要切换窗口

实现方法

获取当前窗口句柄:driver.current_window_handle

获取所有窗口句柄:driver.window_handles 返回的是一个列表

切换窗口句柄:driver.switch_to.window(window_handle),window_handle是窗口句柄

窗口句柄:由操作系统生成的一串唯一识别码,是一串字符

案例实现:

demo.html

<!DOCTYPE html>
<html title="我是一个DEMO">
	<head>
    <meta charset="UTF-8">
		<title></title>
		<style>
		h3 {text-align: center;}
		p {color: blue;}
		</style>
	</head>
	<body>
<a id="link" target="_blank" href="https://www.baidu.com">百度</a>
	</body>
</html>
windows.py
# -*- coding: utf-8 -*-
"""
@Time    : 2023/10/18 10:04
@Author  : 娜年花开
@File    : windows.py
@Desc    :
"""

import  time
from selenium import  webdriver

driver = webdriver.Chrome()
driver.get("file:///D:/web_auto/demo.html")
# 定位百度超链接
driver.find_element_by_link_text("百度").click()

#获得句柄
handles = driver.window_handles

# 切换到最新打开的页面
driver.switch_to.window(handles[-1])
driver.find_element_by_id("kw").send_keys("软件测试")
driver.find_element_by_id("su").click()
print(driver.title)
time.sleep(5)

# 再次切换到之前的窗口
driver.switch_to.window(handles[0])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值