webdriver实现简单的窗口切换

      webdriver实现简单的窗口切换,也只能是简单的,因为目前处于学习阶段,复杂的情况现在还没碰到过。之前写过关于一个小demo的总结,就有提到过在新开窗口进行操作的情况,用以下一句就可以搞定了,last代表最后一个窗口,用switch_to切换到最后一个窗口(即新开的窗口)进行操作

dr.switch_to.window dr.window_handles.last

  这样一般的流程整个下来是不会有问题的,可是很死板。如果我在操作过程中开了n个窗口,并且要返回到某个窗口去进行操作那该怎么办?显然上面那句代码是不行的,这个时候还是要从上面那句代码入手,window_handles在文档中查到的解释是Get the window handles of open broswer windows,返回类型是Array,也就是说从打开第一个浏览器窗口开始就已经被记录为handles[0]了,以此类推。要是在开了N个窗口中想切换到第二个,依样画葫芦,代码如下。

dr.switch_to.window dr.window_handles[1]

  但是有一点还是要强调的,在这个过程中是不能关闭窗口的,要是关掉了会影响顺序,导致出现找不到窗口元素等问题。说到关闭窗口,close和quit的区别:quit比较狠,直接把所有窗口都关掉了,close可以关掉当前的窗口(在firefox用是这样的,其他浏览器可能不一样,没尝试过)。 switch_to的功能很强大,不过目前用到的切换就直接的就是浏览器窗口,就先记录下这个,以后碰到以后再说。不知道是因为这个太简单了还是什么情况,网上关于这个切换窗口的资料实在是太少了,有也是java的,可是ruby的api跟java完全是不一样的,比如说java可以直接用getWindowhandle()直接获取当前窗口的句柄,ruby就没有这种用法。我这种菜鸟就完全搞不定了,所以一句代码就搞定的事情我还是折腾了很久。不得不再次承认自己真是弱爆了,路漫漫其修远兮,还是那句话,慢慢走吧。

转载于:https://www.cnblogs.com/bughunter/p/4253406.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值