我正在尝试使Discord Web App上的特定任务自动化。我只想:
(全部以编程方式)
13 = 返回键
(在上面的gif文件中,我在键盘上gif文件的末尾按Enter /返回-不幸的是,它不会从代码中触发!)
我不想为此使用node.js,谢谢!
在discordapp.com上复制的步骤:
在浏览器上登录Discordapp.com
加入任何文本聊天室
在控制台中输入代码并运行
-
我正在为我的浏览器编写一个用于Discord的个人客户端插件。唯一的问题是我无法弄清楚如何使用JS提交消息。
我可以将文本输入到textarea中,但是我不能以任何方式提交它。表单内没有提交按钮。我尝试从JS提交它,但它会重新加载页面。我试图模仿输入框中的Enter键,但这也不起作用。
我设法使其正常工作的唯一方法是在重复计时器上使用AutoKeyboard应用程序,但是我需要以编程方式完成。
这是我尝试过的(JavaScript):
输入值后尝试模拟输入键
function triggerEvent(el, type, keyCode) {
if ('createEvent' in document) {
// modern browsers, IE9+
var e = document.createEvent('HTMLEvents');
e.keyCode = keyCode;
e.initEvent(type, false, true);
el.dispatchEvent(e);
} else {
// IE 8
var e = document.createEventObject();
e.keyCode = keyCode;
e.eventType = type;
el.fireEvent('on'+e.eventType, e);
}
}
var nextButton = document.getElementsByClassName('textArea-2Spzkt')[0];
triggerEvent(nextButton, 'keydown', 13); // simulate mouse/enter key press[/code]
另一个:
$('textarea[placeholder="Message #bot-spam"]').val('My Message').focus();
$('textarea[placeholder="Message #bot-spam"]').trigger('keydown', {which: 'keyReturn'.charCodeAt(0)});[/code]
另一个:
var e = $.Event('keydown');
e.which = 13;
$('textarea[placeholder="Message #bot-spam"]').val('My Message').focus();
$('textarea[placeholder="Message #bot-spam"]').trigger(e);[/code]
另一个:
var y = document.getElementsByClassName('textArea-2Spzkt');
var el = y[0];
el.focus();
var e = document.createEvent('KeyEvents');
e.initKeyEvent('keypress', true, true, window, false, false, false, false, 0, 0x0d);
var status = el.dispatchEvent(e);
console.log( status );
另一个:
var e = document.createEvent('KeyEvents');
e.initKeyEvent('keypress', true, true, window, false, false, false, false, 0, 0x0c);
console.log( $('textarea[placeholder="Message #bot-spam"]')[0].dispatchEvent(e));[/code]
var e = jQuery.Event("keydown");
e.which = 13;
$('textarea[placeholder="Message #bot-spam"]').val('My Message').trigger(e);
尝试提交表单,但只是重新加载页面
$('textarea[placeholder="Message #bot-spam"]').val('My Message').closest('form').submit();
我也尝试查看代码中的所有事件,但是我看不到它运行的任何特定功能只是自己运行它。
我还能在这里做什么?简单地提交一条消息怎么会这么困难...?