Keep Learning

coco这几天有点不开心,这点tom是可以看出来的。

tom挖空心思想去接近coco,但coco一副拒人于千里之外的模样,tom感觉现在他跟coco都是磁铁,而且磁极相同。

好几天的沉默最终还是被coco打破了,她遇到了一个问题,让她百思不得其解的问题,万般无奈的情况下,她选择请教tom,因为她觉得也许tom可以帮到她,尽管她心里并不是很情愿这么做。

tom红着脸走到coco的座位边,coco很冷淡,像是两人之前根本没任何交情。tom安慰自己,他们之前也确实没有什么,所有的旖旎只是自己一厢情愿而已。

coco原来遇到了比较麻烦的弹出窗口的问题,表象是点击一个链接,然后浏览器在弹出的新窗口中打开了链接。coco不知道怎么去定位这个新打开的窗口中的对象,她发现自己的代码都是在操作原先的窗口,并没有作用到新开的那个上。

tom说如果用的是selenium-webdriver的话,切换窗口实际上还是有点麻烦的,但是watir-webdriver简化这些,使得窗口操作更自然更合理。tom举了一些例子。

如果当前有2个浏览器窗口,那么下面的代码可以很好的”游弋”于这两个窗口之间。


# 使用第1个窗口,这样所有的对象对位及操作都在
# 这个窗口里完成
browser.windows.first.use
browser.link(text: 'Click').click


# 使用第2个窗口,也就是新弹出来的窗口
# 这样所有的对象对位及操作都在弹出的窗口中完成
browser.windows.last.use
browser.link(text: 'In popup window').click

tom再举了一个更为复杂的例子,假设现在有3个浏览器窗口


# 使用最后1个窗口,这个窗口往往是新弹出的窗口
browser.windows.last.use

# 使用中间的窗口,也就是第2个窗口
browser.windows[1]

# 使用第1个窗口,这个窗口往往是最初的窗口
browser.windows.first.use

这些代码表意性很强,coco看了一会就基本明白了。2个window的情况下,处理起来确实很简单很自然,但是3个窗口的话一切都不一样了,情况微妙了很多。就像是一段感情,两个人参与其中才是最合适的状态,如果有三个人的话,这些困扰都会渐渐多起来了吧。

tom见coco若有所思,不怎么言语,这几天好不容易有机会跟coco单独聊几句,如果两人就这样相对无言的话,那简直就是暴殄天物了吧。tom鼓足勇气,吞吞吐吐的对coco说:”前几天有个同学刚来这里,在我家住了几天,今天终于找到地方了,准备搬出去,晚上他请我吃饭,吃饭的地方离你家挺近的,如果有空的话就跟我一起去吧。”

coco像是忽然明白了些什么,她问道:”你同学是男的还是女的?”

tom道:”男的。”

coco黯然。她恹恹的道:”你们两个男人吃饭我就不去参合了。”

tom急的直挠头:”不是两个男的,他女朋友也一起。”

“女朋友?他女朋友也住你那?”

“对,他们两个一起来的。”

coco明了,刚才的不快与失落烟消云散。她微笑道:”好吧,为了不让你当电灯泡,我就陪你走一遭吧。”

coco的微笑像一缕阳光照进了tom心中,tom觉得很温暖,如沐春风。

    Categories: