触发哪个事件才能勾选百度网盘的文件选择框

新手上路,请多包涵

问题描述

1.就是我想要删除网盘的重复的文件,重复文件的格式就像要XXX(1).XXX的样子
2.然后我的思路就是把这些文件找出来,然后利用循环一次性把他们的选择框勾选
3.然后就直接删除

问题

解决不了的就是直接调用dd标签上面的click事件倒是可以但是,但是不支持利用循环选择多个,选择了下一个上一个又没了
然后我又想可能那个删除按钮是根据那个dd的class来判断是否勾选的,又给加上了对应的css影视,但是好像还是不行。

代码

var $fileNames = $("div.file-name div.text a");
var isRepeat = /\((.+?)\)/; 
var repeatFilesIndex = [];
var $optionBoxs = $("dd.g-clearfix");

// 找到重复文件
for(var i = 0; i < $fileNames.length; i++){
    var $thisFile = $($fileNames[i]);
    var title = $thisFile.attr("title");

    // 判断重名文件并记录索引
    if(title.search(isRepeat) != -1){
        repeatFilesIndex.push(i);
        console.log(title);  
    }
}

// 勾选重名文件
for(var i = 0; i < repeatFilesIndex.length; i++){
    var thisOptionIndex = repeatFilesIndex[i];
    var $thisOptionBox = $($optionBoxs[thisOptionIndex]);

    // 勾选该选项
    $thisOptionBox.addClass("obcPb8q");
}

// 触发删除事件
$("div.ayqzNa a[title='删除']").click();

所以我想知道的就是怎么才能选择多个文件### 问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 2.5k
1 个回答

没仔细研究你的代码。网页上进行批量操作,通常是检测形如 <input type = "checkbox" /> 的标签——亦即复选框的 "checked" 属性,为真则表示被选中,然后获取与这些被选中标签相关联的数据,写入表单、提交。
通过检测 class 名来判断复选框是否选中是非常不规范的行为,百度的前端应该不会这么做。
所以理论上你应该先用 $ 找到各文件名对应的复选框,然后逐个执行

.atrr('checked', true);

然后触发批量删除按钮的点击事件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题