从contentcript模拟React aplication中的keydown

时间:2017-12-28 19:39:40

标签: javascript jquery reactjs

我正在开发针对pinterest的小机器人,并注意到pinterest使用React。我有消息发送问题。我可以输入消息文本到<textarea>并可以模拟input事件(更新React状态),但不能模拟keydown事件(带代码13)来发送消息。 React只是忽略了我的尝试。

let textarea = $(".reactConversationsContainer .reactNewMessageInput");
let node = textarea[0];

let event = document.createEvent('UIEvents');
event.initEvent('focus', false, false);
node.dispatchEvent(event);

event = new KeyboardEvent('keydown', {
   code: "13",
   keyCode: 13,
   charCode: 13,
   key: 13,
   which: 13
});
node.dispatchEvent(event);

我将非常感谢有关该主题的任何信息

1 个答案:

答案 0 :(得分:0)

好的,我自己解决了这个问题。

首先,这个图书馆对我来说很好:simulate.js。您可以提取所需的代码,lib非常简单。

请注意,内容脚本无法触发页面处理程序,因为它与页面隔离(请参阅this question),您需要注入脚本,这将触发事件(这也在上面的链接中描述)。 / p>