Selenium 切换窗口

场景需求

当前窗口点开一个链接后,打开了一个新的标签窗口,我需要在新标签中进行后面的操作
下面以 Python 代码演示

具体实现

首先,切换窗口可以使用WebDriver类的switch_to.window()方法来完成
然后,获取当前窗口的句柄(handle),再后获取所有窗口的句柄,切换到新窗口的句柄上
举个例子:

main_handle = driver.current_window_handle
element.click()  # 点击链接
all_handles = driver.window_handles
for handle in all_handles:
    if handle != main_handle:
        driver.switch_to.window(handle)

这段代码会记录当前窗口的句柄,点击链接后,获取所有窗口的句柄,遍历所有窗口的句柄,如果找到的句柄不是当前窗口的句柄,则切换到这个窗口
这样就可以在新标签窗口中进行操作了

需要注意的是,在切换窗口时需要等待新窗口加载完成,可以使用WebDriverWait类的until()方法来等待新窗口出现
例如:

wait = WebDriverWait(driver, 10)
wait.until(EC.new_window_is_opened(main_handle))

这行代码会等待10秒,直到新窗口打开
至此,目的实现

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值