使用js实现基于可视布局信息的网页噪音去除的测试方法

本文介绍了一种基于可视布局信息的网页噪音去除方法,通过JavaScript获取网页元素在屏幕中的实际位置,测试了对于table元素的效果。虽然单独使用准确率有限,但可以与其他方法结合提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 可视布局信息的网页噪音去除方法很早就从网上看到,但是苦于没有java中没有简单的方法能够得到网页元素位于屏幕中的实际位置,所以一直没做过,前一段时间学js,突然发现js能很容易得到每个网页元素位于屏幕中的实际位置。所以就写了这个简单函数测试了一下,好像效果还不错,不过个人认为基于可视布局信息的网页噪音去除最好和其他的方法结合使用,单独使用准确率还不是很好。

<script language="JavaScript">
function getElementTagName(){
    var h1 = 200;
    var h2 = document.body.scrollHeight - 160;
    var w1 = document.body.scrollWidth * 0.3;
    var w2 = document.body.scrollWidth * 0.7;
    //alert("width:" + document.body.scrollWidth  + "height:" + document.body.scrollHeight);
    var ele = document.getElementsByTagName("table");
    alert("元素为table的个数:" + ele.length);
    for (i = 0; i < ele.length; ++i) {
        var temp = "";
        var e = ele(i);
        var   x,y,w,h;  
             oRect   =   e.getBoundingClientRect();  
            x=oRect.left;  
            y=oRect.top;
        w = e.offsetWidth;
        h = e.offsetHeight;

        temp = "table" + i;
        if ((y + h) < h1)
            alert(temp + "/r/nHEADER:/r/n/r/n" + e.innerText);
        if (y >= h2)
            alert(temp + "/r/nFOOTER:/r/n/r/n" + e.innerText);
        if ((x + w) < w1)
            alert(temp + "/r/nLM:/r/n/r/n" + e.innerText);
        if (x >= w2)
            alert(temp + "/r/nRM:/r/n/r/n" + e.innerText);
        if ((y < h2) && ((y + h) >= h1) && (x < w2) && ((x + w) >= w1))
            alert(temp + "/r/nCENTER:/r/n/r/n" + e.innerText);
        //alert(temp);
        //temp += "left:" + x;
        //alert(temp);
        //temp += "top:" + y;
        //alert(temp);
        //temp += "width:" + e.offsetWidth;
        //alert(temp);
        //temp += "height:" + e.offsetHeight;
        //alert(temp + "/r/n/r/n" + e.innerText);
    }
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值