Javascript 在任何web应用程序中集成JS实用程序

Javascript 在任何web应用程序中集成JS实用程序,javascript,web,utility,Javascript,Web,Utility,我创建了一个javascript函数,单击页面中的任何元素都会给出该元素的Xpath和该元素的所有属性。这部分已经完成了。现在我想把这个函数作为一个实用工具来使用,应该可以在任何web应用程序上使用。有没有办法做到这一点?请建议我。下面是JS函数: <script> document.onclick= function(event) { if (event===undefined) event= window.event;

我创建了一个javascript函数,单击页面中的任何元素都会给出该元素的Xpath和该元素的所有属性。这部分已经完成了。现在我想把这个函数作为一个实用工具来使用,应该可以在任何web应用程序上使用。有没有办法做到这一点?请建议我。下面是JS函数:

  <script>
document.onclick= function(event) {
    if (event===undefined) event= window.event;                    
      var target= 'target' in event? event.target : event.srcElement; 
    var path= getPathTo(target);
    var attList = getAllAttributes(target);
    console.log(path);
};   
 function getPathTo(element) {
    if (element.id!=='')
        return "//*[@id='"+element.id+"']";

    if (element===document.body)
        return element.tagName.toLowerCase();

    var ix= 0;
    var siblings= element.parentNode.childNodes;
    for (var i= 0; i<siblings.length; i++) {
        var sibling= siblings[i];

        if (sibling===element) return getPathTo(element.parentNode) + '/' + element.tagName.toLowerCase() + '[' + (ix + 1) + ']';

        if (sibling.nodeType===1 && sibling.tagName === element.tagName) {
            ix++;
        }
    }
};     
function getAllAttributes(element){
    var arr=[];
    var attrs = element.attributes;
    for (var i = 0; i < attrs.length; i++) {
        arr.push({ AttributeName:attrs[i].name, Value:attrs[i].value});
}
    console.log(arr);
}
</script>

document.onclick=函数(事件){
如果(event==未定义)event=window.event;
var target='target'在event?event.target:event.src元素中;
var path=getPathTo(目标);
var attList=getAllAttributes(目标);
console.log(路径);
};   
函数getPathTo(元素){
if(element.id!='')
返回“/*[@id=”+element.id+“]”;
if(元素===document.body)
返回元素.tagName.toLowerCase();
var ix=0;
var sides=element.parentNode.childNodes;

对于(var i=0;我将您的实用程序函数移动到一个单独的js文件中,并在需要时导入该文件:
。事实上,该实用程序是为测试团队提供的。他们没有代码库,因此无法直接包含脚本。有一个测试Web UI,我需要在其中添加一些按钮,单击该按钮可以调用此js。一旦我点击页面上的DOM元素,它就会开始工作。你可以动态加载脚本:要么在你的按钮点击中复制/粘贴代码,要么在可访问的本地服务器中托管脚本。将你的实用程序函数移动到一个单独的js文件,并在需要时导入该文件:
。实际上,这个实用程序是用于测试team。他们将没有代码库,因此无法直接包含脚本。有一个测试Web UI,我需要在单击时添加一些按钮,以调用此JS。一旦我单击该页面上的DOM元素,它将开始工作。您可以动态加载脚本:在按钮的单击中复制/粘贴代码,或者宿主t他在可访问的本地服务器上编写脚本。