2013-08-22 47 views
2

我正尝试在Facebook上使用Javascript发送聊天消息,但不断收到错误消息。要么是TypeError: Object #<NodeList> has no method 'WHATEVERIPUTHERE'使用JavaScript在Facebook上使用浏览器控制台发送聊天消息

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

o.WHATEVERIPUTHERE("Hello!")是我想要做的(设置为文本区的值,并将其发送)

这是我曾尝试:

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

如果下面帮你出答案,请务必给予好评,并选择一个公认的答案。否则,你还有问题吗?你自己解决了吗? – onebree

回答

5

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); 
+0

@FastSnail呵呵,这还在工作吗? :) –

+0

yes.i也认为它已经过时了,但它很好地工作 –

+2

@FastSnail我很高兴知道这在两年的非反馈后帮助了某人。 :-D –

-1

真棒...它为我工作。下面是我的代码

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); 
0

截至31-12-2016的结构发生了变化......我是因为我坚持的发送部分还没有完全实现它。因为某些原因,当我输入动态值时,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; 
} 

} 
相关问题