原理:
1. 利用BHO(Browser Helper Object),在页面内装入event监听事件,当然动态装入事件,可以多种方式,用pwatir也可以。
2. 监听事件的处理:在页面内所有元素上装一遍事件来监听,不靠谱,
这里用到了JS事件冒泡原理,因为事件会向上传递,所以只需简单的在最上次document装入监听事件。
document.attachEvent('onmouseover',
myonmouseover);
document.attachEvent('onclick', myonclick);
function myonclick(event){
var element = event.srcElement;//就是被点击的元素
//element.id, name, tagName, value ,
//className, innerText
//可根据以上元素来定位元素
}
Event参考:http://msdn.microsoft.com/en-us/library/ms535863(v=VS.85).aspx
Element参考:http://msdn.microsoft.com/en-us/library/ms533054(v=VS.85).aspx
安装: (win7权限问题,注册不成功,用管理员权限运行)
CBURecordBHO.rar(46.7 KB)
regsvr32 D:\CBURecordBHO.dll
卸载:
regsvr32 D:\CBURecordBHO.dll /u
使用:(IE8上可用,IE9上有问题)
1. 按F12打开开发人员工具
2. 操作页面即可录制,按住CTRL,鼠标移到元素上即生成check
缺点:
1.因直接利用window.console输出,因此不支持IE6,ActiveXObject("Scripting.FileSystemObject")支持本地输出,但需要降低IE安全级别。
2. 不是pwatir完整解决方案,只是录制环节。
优点:
1.纯JS生成录制脚步,跟Selenium一样,可根据需要生成不同语言的脚本
2.录制反向定位可以变成回放,当然写出Selenium core的js脚本考验能力。