使用浏览器控制台使用Javascript在Facebook中发送聊天消息

Sending a chat message in Facebook using Javascript using the browser console

本文关键字:聊天 消息 浏览器 控制台 Javascript Facebook      更新时间:2023-09-26

我试图使用Javascript在Facebook中发送聊天消息,但一直收到错误消息。要么是TypeError: Object #<NodeList> has no method 'WHATEVERIPUTHERE'

基本上o=聊天文本区域。

o.WHATEVERIPUTHERE("Hello!")是我正在尝试做的(为文本区域设置一个值,并发送它)

这就是我尝试过的:

var o = document.getElementsByClassName("uiTextareaAutogrow _552m");
o.WHATEVERIPUTHERE("Hello!");

document.getElementsByClassName返回一个元素数组。在这种情况下,打开聊天框后,他们将拥有相同的号码。

我用纯Javascript写的:

var o = document.getElementsByClassName("uiTextareaAutogrow _552m");
// set the chat textbox
var chatTextBox = o[0];
// set the message value
chatTextBox.value = "Hello";
// create a keydown event    
var e = new Event("keydown");
// it has to simulate the Enter press (key code is 13)
e.keyCode = 13;
// trigger it
chatTextBox.dispatchEvent(e);

太棒了。。。它对我有效。下面是我的代码

var o = document.getElementsByClassName("uiTextareaNoResize uiTextareaAutogrow _1rv");
// set the chat textbox
var chatTextBox = o[0];
// set the message value
chatTextBox.value = "Hello";
// create a keydown event    
var e = new Event("keydown");
// it has to simulate the Enter press (key code is 13)
e.keyCode = 13;
// trigger it
chatTextBox.dispatchEvent(e);

截至2016年12月31日,结构发生了变化。。。我还没有完全做到,因为我被发送部分卡住了。因为出于某种原因,当我输入动态值时,FB会阻止我按Enter或后退。。这种行为很奇怪。

这是我的一段代码[不完整]

//Open up all the chat window visible on the chat panel
STEP 1:
javascript:var inputs = document.getElementsByClassName('_55ln'); 
for(var i=0; i<inputs.length ; i++) { 
inputs[i].click(); 
break; //testing purpose
}

STEP 2:
javascript:var item = document.getElementsByClassName('fbNubFlyout  fbDockChatTabFlyout uiContextualLayerParent');
for(var k=0;k<item.length;k++){
var child = item[k].getElementsByClassName('_1p1t');
item[k].removeChild(child);
var send = item[k].getElementsByClassName('_1mf _1mj'); 
console.log(send);
for(var j=0;j<send.length; j++){
var attr = send[j].getAttribute('data-offset-key');
var new_content = '<span data-offset-key="'+attr+'"><span data-text="true">HI!! Testing</span></span>';
send[j].innerHTML=new_content;
}
}