python 窗体切换_Python+webdriver自动化脚本初学记录之窗口切换(2)

为什么要研究窗口切换?

答:如driver.get("http://www.baidu.com/")打开百度网站,即第一个窗口,该窗口页面上存在可点击的链接,点击这些链接会打开另一个新的窗口,即第二个窗口,这时如果要第二个窗口中操作,就需要先切换到第二个窗口中,就需要用到窗口切换,如果不进行切换,则操作的对象还是上一个页面窗口。浏览器窗口的切换通过句柄(handle)来操作,每个窗口都有一个句柄,代表该窗口,需要操作哪个页面的窗口,切换到窗口对应的句柄。通过driver.switch_to.window(handle)来切换句柄。

下面这个脚本过程是:打开百度网站(第一个窗口),输入“腾讯首页”搜索,搜索结果中点击腾讯首页,弹出新窗口,即腾讯网站首页(第二个窗口),获取所有窗口句柄,切换到第二个窗口句柄,点击NBA,进入NBA 窗口(第三个窗口)。关闭第二个窗口,然后切换到第一个窗口,输入框输入新浪微博,并搜索。最后关闭并退出浏览器。

今天说的是要在第一个窗口和第二个窗口之间切换的一种方式。

1、在出现了第二个窗口后,使用handles=drvier.window_handles获取所有窗口句柄(第一个和第二个)

2、然后driver.switch_to.window(handles[1])切换到第二个窗口句柄 ,切换完点击该窗口中的NBA(此时会弹出第三个窗口),并关闭第二个窗口。

注意:即使弹出第三个窗口,我们要进行操作时指向的对象仍然停留在第二个窗口。所以脚本中driver.close()关闭的是第二个窗口

3、最后driver.switch_to.window(handles[0])切换到第一个窗口句柄,切换完成后进行一系列操作:搜索框输入新浪微博并搜索,然后driver.quit()退出浏览器。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值