python+selenium切换窗口,两个窗口却只有一个句柄,问题在这里

python+selenium切换窗口,两个窗口却只有一个句柄,问题在这里

问题:

两个窗口,使用一下代码打印所有窗口句柄,发现只打印出了一个句柄。

print(driver.current_window_handle) # 输出当前窗口句柄
handles = driver.window_handles # 获取当前全部窗口句柄集合
print(handles) # 输出句柄集合

在这里插入图片描述
在这里插入图片描述
解决办法
这是因为我再浏览器一打开第二个标签页的代码后面直接写了打印当前或所有窗口的句柄,这市第二个窗口还没有打开,因为代码的运行速度是很快的,这时windows还没有生成句柄。
我们在切换句柄前,加上sleep延时,等待新页面打开。

time.sleep(10)
print(driver.title)
print(driver.current_window_handle) # 输出当前窗口句柄
handles = driver.window_handles # 获取当前全部窗口句柄集合
print(handles) # 输出句柄集合
driver.switch_to.window(handles[-1])

再次运行,窗口切换成功。
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值