参考
http://www.cnblogs.com/cloudgamer/archive/2010/02/01/LazyLoad.html
http://blog.csdn.net/tiancx/article/details/2907887
http://blog.csdn.net/javatwt/article/details/1519481
1 Lazyload 介绍
Lazyload是通过延迟加载来实现按需加载,达到
节省资源,加快浏览速度
的目的。
网上也有不少类似的效果(大多是图片的加载),这个Lazyload主要特点是:
支持使用window(窗口)或元素作为容器对象;
对静态(位置大小不变)元素做了大量的优化;
支持垂直、水平或同时两个方向的延迟。
2 Issues met
用Selenium测试时,使用lazyload_url的内容 无法加载出内容 ,需要定位并滚动到容器区域时,内容才会延迟加载成功(每个容器的间隔加载时间可以设定,比如500ms),即共有7个容器,每屏如果只能显示4个容器,那么后边的3个容器是不会加载显示的,而前4个容器内容的加载间隔是500ms $(".toload").mylazyload({loadTimeout: 500});
3 Workaround
没有想到很好的方法处理 延迟加载 的问题,但下面的方法也是可行的:
首先,定位到容器一
其次,利用↓键去使得当前容器的内容显示
//for lazyload_url
selenium.focus("//div[@id='cusi_1']/div[2]");
selenium.keyPressNative("40");
selenium.keyPressNative("40");
selenium.keyPressNative("40");
selenium.keyPressNative("40");
selenium.keyPressNative("40");
selenium.keyPressNative("40");
4 键盘常用ASCII码
ESC键 VK_ESCAPE (27)
回车键: VK_RETURN (13)
TAB键: VK_TAB (9)
Caps Lock键: VK_CAPITAL (20)
Shift键: VK_SHIFT ($10)
Ctrl键: VK_CONTROL (17)
Alt键: VK_MENU (18)
空格键: VK_SPACE ($20/32)
退格键: VK_BACK (8)
左徽标键: VK_LWIN (91)
右徽标键: VK_LWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键: VK_INSERT (45)
Home键: VK_HOME (36)
Page Up: VK_PRIOR (33)
PageDown: VK_NEXT (34)
End键: VK_END (35)
Delete键: VK_DELETE (46)
方向键(←): VK_LEFT (37)
方向键(↑): VK_UP (38)
方向键(→): VK_RIGHT (39)
方向键(↓): VK_DOWN (40)
F1键: VK_F1 (112)
F2键: VK_F2 (113)
F3键: VK_F3 (114)
F4键: VK_F4 (115)
F5键: VK_F5 (116)
F6键: VK_F6 (117)
F7键: VK_F7 (118)
F8键: VK_F8 (119)
F9键: VK_F9 (120)
F10键: VK_F10 (121)
F11键: VK_F11 (122)
F12键: VK_F12 (123)
Num Lock键: VK_NUMLOCK (144)
小键盘0: VK_NUMPAD0 (96)
小键盘1: VK_NUMPAD0 (97)
小键盘2: VK_NUMPAD0 (98)
小键盘3: VK_NUMPAD0 (99)
小键盘4: VK_NUMPAD0 (100)
小键盘5: VK_NUMPAD0 (101)
小键盘6: VK_NUMPAD0 (102)
小键盘7: VK_NUMPAD0 (103)
小键盘8: VK_NUMPAD0 (104)
小键盘9: VK_NUMPAD0 (105)
小键盘.: VK_DECIMAL (110)
小键盘*: VK_MULTIPLY (106)
小键盘 : VK_MULTIPLY (107)
小键盘-: VK_SUBTRACT (109)
小键盘/: VK_DIVIDE (111)
Pause Break键: VK_PAUSE (19)
Scroll Lock键: VK_SCROLL (145)
-----------------------------------------------