网页自动点击脚本_leet code 网页脚本自动化

这篇博客探讨了如何使用JavaScript在Chrome环境中进行自动化操作,特别是针对元素的定位和点击事件的模拟。通过`getElementsByClassName`获取元素并利用`dispatchEvent`触发点击事件,实现对网页元素的选择与取消选择。文章提供了多个示例,包括点击按钮和选择特定标签,强调了在自动化操作中准确定位元素的重要性。

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

工具是 chrome:

  • 例子一:

31dd400a068e3605985a9f1a233342d6.png

4a6c46b6662776c6b9190afd8abfdf15.png

let pp = document.getElementsByClassName("filter-dropdown-button");
pp[0].click();

chrome console 代码:

let btn = document.getElementsByClassName("filter-dropdown-button");          
// undefined
btn[0].click();
// ƒ click() { [native code] }

Chrome Snippets:

Snippets Support?​stackoverflow.com

e27544ac23fa2bf40945939c9796a2c1.png

第二种方法:

function dispatch(el, type){
        try{
            var evt = document.createEvent('Event');
            evt.initEvent(type,true,true);
            el.dispatchEvent(evt);
        }catch(e){alert(e)};
    }

    
    var btn1 = document.getElementsByClassName("filter-dropdown-button")[0];  

    dispatch(btn1, 'click');

  • 例子 2 : 选中与取消选中 tag: array
function dispatch(el, type){
        try{
            var evt = document.createEvent('Event');
            evt.initEvent(type,true,true);
            el.dispatchEvent(evt);
        }catch(e){alert(e)};
    }

    
    var btn1 = document.getElementsByClassName("filter-dropdown-menu-item")[0];  

    dispatch(btn1, 'click');

选中

2b8069e2c31cd9d3970491e8841fce1e.png

8ea500138a3ea8db75a17168eeb91f7a.png

取消选中

a4e2795bfefada2dc77062615dee3fea.png

  • 例子 3, 选中 tag : Tree
function dispatch(el, type){
        try{
            var evt = document.createEvent('Event');
            evt.initEvent(type,true,true);
            el.dispatchEvent(evt);
        }catch(e){alert(e)};
    }

    
    var divs = document.getElementsByClassName("filter-dropdown-menu-item");  
    console.log(divs.length);
    for (var i = 0; i < divs.length; i++){
         console.log(divs[i].children.length);
         console.log(divs[i].children[1]);
         
         if (divs[i].children[1].textContent == "Tree"){
             dispatch(divs[i], 'click');
             break;
         }
    }


    

通过查找标签的名字,找到具体是哪一个 tag,

然后模拟点击

0db83bb4b766f2e048908564b4e4a42e.png

所谓类型错误:

Uncaught TypeError: Cannot read property of undefined
JavaScript TypeError is thrown when an operand or argument passed to a function is incompatible with the type expected by that operator or function. This error occurs in Chrome Browser when you read a property or call a method on an undefined object . There are a few variations of this error depending on the property you are trying to access. Sometimes instead of undefined it will say null.
Uncaught TypeError: Cannot read property of undefined In JavaScript​net-informations.com
2cd71ef58fc47c83ff3b7b3ee94aed5b.png





浏览器自动化操作大体分为两步——定位操作

而其中最重要的是定位,

因为定位是最困难的

并且只有定位到了想要的位置才能进行后续的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值