点击Facebook上同一课程的每个按钮

时间:2016-10-10 03:01:19

标签: javascript facebook google-chrome console

我正在试着玩我刚刚发过的Facebook群聊。事实上,我添加了太多人,我需要绝对删除所有人。 这是其中一个按钮的html(它们都共享同一个类):

<a class="_42ft _4jy0 _4jy3 _517h _51sy" role="button" href="#" ajaxify="/chat/remove_participants/?elem_id=u_32_4&amp;uid=1124361845&amp;tid=958151054268315" rel="async-post">Remove</a>

所以,我希望在这里使用它,它会立即点击所有按钮:

 document.getElementById('_42ft _4jy0 _4jy3 _517h _51sy').click();

但是错误信息......:

VM1719:1 Uncaught TypeError: Cannot read property 'click' of null(…)

出现..我真的很困惑为什么点击功能不起作用。

干杯

2 个答案:

答案 0 :(得分:1)

您正在使用getElementById(),它会按ID 获取元素。您应该使用getElementsByClassName()

var btns = document.getElementsByClassName('_42ft _4jy0 _4jy3 _517h _51sy');
for (let btn of btns) {
    btn.click();
}

匹配所有元素for-of循环使用选定的类名迭代每个匹配的元素。

答案 1 :(得分:1)

如果要按类名选择DOM树元素,getElementById()不是正确选项,因为它按ID选择元素。所以,你应该选择getElementsByClassName(),它返回一个带有该类名的元素数组。然后,您可以遍历元素以编程方式单击它。

var group_chat_buttons = document.getElementsByClassName('_42ft _4jy0 _4jy3 _517h _51sy');
for (i = 0; i < group_chat_buttons.length; ++i) {
    group_chat_buttons[i].click();
}