Javascript 控制台脚本,用于触发3000+;连续单击启用的前端操作 问题

Javascript 控制台脚本,用于触发3000+;连续单击启用的前端操作 问题,javascript,jquery,browser,console,pushbullet,Javascript,Jquery,Browser,Console,Pushbullet,Pushbullet,由于我的华硕Nexus 7上过时的Android版本引起的一些错误,错误地添加了数千次设备 我需要以编程方式(通过脚本)删除所有这些条目,因为删除的次数(每次都需要多次单击)太多,无法手动完成。(我已经联系了Pushbullet,但他们帮不了忙——没有牛肉。说真的,我完全理解。Pushbullet也很棒。) Pushbullet的设备列表页面上的代码 最初,我需要单击的按钮显示如下: <table class="crud" style=&qu

Pushbullet,由于我的华硕Nexus 7上过时的Android版本引起的一些错误,错误地添加了数千次设备

我需要以编程方式(通过脚本)删除所有这些条目,因为删除的次数(每次都需要多次单击)太多,无法手动完成。(我已经联系了Pushbullet,但他们帮不了忙——没有牛肉。说真的,我完全理解。Pushbullet也很棒。)


Pushbullet的设备列表页面上的代码 最初,我需要单击的按钮显示如下:

  <table class="crud" style="width:100%;white-space:nowrap">
    <tr>
      <td><input type="text" placeholder="nickname" value="Sony D5803" name="nickname" onchange="window._handler[12].apply(null, arguments);" onblur="window._handler[13].apply(null, arguments);" onkeypress="window._handler[14].apply(null, arguments);" /></td>
      <td>added 6 days ago</td>
      <td><button class="hover-red" onclick="window._handler[15].apply(null, arguments);">Delete</button></td>
    </tr>

    <tr>
      <td><input type="text" placeholder="nickname" value="Firefox" name="nickname" onchange="window._handler[20].apply(null, arguments);" onblur="window._handler[21].apply(null, arguments);" onkeypress="window._handler[22].apply(null, arguments);" /></td>
      <td>added 4 months ago</td>
      <td><button class="hover-red" onclick="window._handler[23].apply(null, arguments);">Delete</button></td>
    </tr>

    <-- I need to delete THESE entries below -->    
    <-- I need to delete THESE entries below -->    
    <-- I need to delete THESE entries below -->    
    <tr>
      <td><input type="text" placeholder="nickname" value="Asus Nexus 7" name="nickname" onchange="window._handler[28].apply(null, arguments);" onblur="window._handler[29].apply(null, arguments);" onkeypress="window._handler[30].apply(null, arguments);" /></td>
      <td>added 6 months ago</td>
      <td><button class="hover-red" onclick="window._handler[31].apply(null, arguments);">Delete</button></td>
    </tr>

    <tr>
      <td><input type="text" placeholder="nickname" value="Asus Nexus 7" name="nickname" onchange="window._handler[32].apply(null, arguments);" onblur="window._handler[33].apply(null, arguments);" onkeypress="window._handler[34].apply(null, arguments);" /></td>
      <td>added 6 months ago</td>
      <td><button class="hover-red" onclick="window._handler[35].apply(null, arguments);">Delete</button></td>
    </tr>
    <-- I need to delete THESE entries above -->    
    <-- I need to delete THESE entries above -->    
    <-- I need to delete THESE entries above -->    
    ...

6天前添加
删除
4个月前添加
删除
6个月前添加
删除
6个月前添加
删除
...
单击“删除”按钮后,“取消”按钮取代“删除”按钮,“删除”按钮移到“取消”按钮旁边的一侧

为了删除项目/设备,我需要它单击第一个“删除”按钮,然后单击第二个“删除”按钮。我将它们称为“第一”和“第二”,因为最初“删除”按钮具有类。鼠标悬停为红色,但单击后,更新的“删除”按钮具有类。红色,如下所示:


6个月前添加
删除
取消

到目前为止我都试过了 我试过很多脚本,有些更简单,有些更复杂,但似乎都不管用。到目前为止,这是最好的结果。它点击按钮(虽然我不知道按哪个顺序),但它不会删除任何条目。这段代码被限制为5个条目,因为当我完成整个列表时,它会持续5分钟而没有结果——至少这样我很快发现它不起作用

我的选择器是正确的,因为当我执行console.logging时,所有正确的内容都被选中,但单击仍然失败。还要注意的是,我的代码总是让列表中的一个按钮保持打开状态(如中所示,它成功地单击了按钮,最后单击的“删除”按钮在代码运行完成后会在其位置保留一个“删除”按钮和一个“取消”按钮)

函数deleteAsus(){
var n;
$('.crud输入[value=“Asus Nexus 7”]')。每个(函数(){
n++;
如果(n=<5){
//console.log(this);//有效!
//console.log($(this.parent().parent().find('.hover red'));//有效!
//console.log($(this.parent().parent().find('.red'));//有效!
$(this).parent().parent().find('.hover red').click().delay(3000).parent().parent().find('.red').click();
//$(this.parent().parent().find('.red')。单击();
}否则{
返回;
}
});
}
deleteAsus();
正如您在上面的代码中所看到的,我最近的尝试是在单击“first Delete”(第一次删除)按钮和“second Delete”(第二次删除)按钮之间设置一个延迟,但这似乎没有任何作用,延迟似乎根本不起作用


我知道这很难帮上忙,因为除非你有自己的Pushbullet帐户,否则真的不可能重新创建“Pushbullet设备屏幕”代码,所以如果有任何方法我可以帮你,请让我知道(并给我钱!)

我终于找到了一种方法来编写此代码

  • 单击第一个“删除”按钮
  • 等待1.5秒,让DOM更改-->第一个按钮的类和位置/CSS更改
  • 然后按下新的红色“删除”按钮
  • 最后,它再等待1.5秒,以便进行良好的测量,并重新启动该过程
  • 此操作将继续,直到删除所有具有重复名称的设备
  • 它正在删除重复的设备,如我们所说,每3秒删除一个。当我开始的时候,总数是1420,当我打这个的时候,我降到了1300左右

    守则:

    var assNex7 = $('.crud input[value="Asus Nexus 7"]');
    var n = 0;
    function clickRed() {
        n++;
        setTimeout(function() {
            $('.red').click();
            setTimeout(function() {
                deleteDevice();
            }, 1500);
        }, 1500);
    }
    function clickDelete() {
        $('.crud input[value="Asus Nexus 7"]').eq(0).parent().parent().find('.hover-red').click();
        clickRed();
    }
    function deleteDevice() {
        if (n < assNex7.length) clickDelete();
    }
    deleteDevice();
    
    var assNex7=$('.crud输入[value=“Asus Nexus 7”]”);
    var n=0;
    函数clickRed(){
    n++;
    setTimeout(函数(){
    $('.red')。单击();
    setTimeout(函数(){
    删除设备();
    }, 1500);
    }, 1500);
    }
    函数clickDelete(){
    $('.crud输入[value=“Asus Nexus 7”]').eq(0.parent().parent().find('.hover red')。单击();
    点击红色();
    }
    函数deleteDevice(){
    如果(n
    我终于找到了一种方法,可以将此代码写入

  • 单击第一个“删除”按钮
  • 等待1.5秒,让DOM更改-->第一个按钮的类和位置/CSS更改
  • 然后按下新的红色“删除”按钮
  • 最后,它再等待1.5秒,以便进行良好的测量,并重新启动该过程
  • 此操作将继续,直到删除所有具有重复名称的设备
  • 它正在删除重复的设备,如我们所说,每3秒删除一个。当我开始的时候,总数是1420,当我打这个的时候,我降到了1300左右

    守则:

    var assNex7 = $('.crud input[value="Asus Nexus 7"]');
    var n = 0;
    function clickRed() {
        n++;
        setTimeout(function() {
            $('.red').click();
            setTimeout(function() {
                deleteDevice();
            }, 1500);
        }, 1500);
    }
    function clickDelete() {
        $('.crud input[value="Asus Nexus 7"]').eq(0).parent().parent().find('.hover-red').click();
        clickRed();
    }
    function deleteDevice() {
        if (n < assNex7.length) clickDelete();
    }
    deleteDevice();
    
    var assNex7=$('.crud输入[value=“Asus Nexus 7”]”);
    var n=0;
    函数clickRed(){
    n++;
    setTimeout(函数(){
    $('.red')。单击();
    setTimeout(函数(){
    删除设备();
    }, 1500);
    }, 1500);
    }
    函数clickDelete(){
    $('.crud输入[value=“Asus Nexus 7”]').eq(0.parent().parent().find('.hover red')。单击();
    点击红色();
    }
    函数deleteDevice(){
    如果(n
    您能删除您的帐户并重新创建吗?这将删除你的所有设备。如果这不起作用,我可以为你编写一个脚本。这可能会起作用,看起来是清理PB的一个干净的解决方案,如果所有其他方法都失败了,我肯定会这么做。Pushbullet值得这么麻烦。但是现在,我真的很想理解为什么我的代码不工作以及如何工作
    var assNex7 = $('.crud input[value="Asus Nexus 7"]');
    var n = 0;
    function clickRed() {
        n++;
        setTimeout(function() {
            $('.red').click();
            setTimeout(function() {
                deleteDevice();
            }, 1500);
        }, 1500);
    }
    function clickDelete() {
        $('.crud input[value="Asus Nexus 7"]').eq(0).parent().parent().find('.hover-red').click();
        clickRed();
    }
    function deleteDevice() {
        if (n < assNex7.length) clickDelete();
    }
    deleteDevice();