yas*_*ask 4 javascript jquery web whatsapp
我正在尝试在chrome上发送whatsapp web版本的短信.(www.web.whatsapp.com)
这是代码:
document.getElementsByClassName("input")[1].innerHTML="This message was written via JS script! ";
var input = document.getElementsByClassName("icon btn-icon icon-send");
input[0].click();Run Code Online (Sandbox Code Playgroud)
但问题是,最初没有文本时输入框如下所示:

只有当我在物理上写一些文字时,它才会改为:

只有现在我的脚本才有效,因为它需要Send text button.
我尝试使用Jquery代码通过以下函数模拟$('.input)的按键:
function pressKey() {
var e = jQuery.Event("keypress");
e.which = 32; // # space
$(".input").trigger(e)[1];
e.which = 91;
$(".input").trigger(e)[1];
e.which = 32; // # space
$(".input").trigger(e)[1];
e.which = 32; // # space
$(".input").trigger(e)[1];
}Run Code Online (Sandbox Code Playgroud)
它没用.
如何Send text通过脚本获取按钮?
Rod*_*nho 13
所有选项对我都不起作用.多数民众赞成我所做的.
function sendMessage(message) {
var evt = new Event('input', {
bubbles: true
});
var input = document.querySelector("div.input");
input.innerHTML = message;
input.dispatchEvent(evt);
document.querySelector(".icon-send").click();
}
Run Code Online (Sandbox Code Playgroud)
小智 8
打开对话时试试这个片段:
function dispatch(target, eventType, char) {
var evt = document.createEvent("TextEvent");
evt.initTextEvent (eventType, true, true, window, char, 0, "en-US");
target.focus();
target.dispatchEvent(evt);
}
dispatch(document.querySelector("#compose-input div"), "textInput", "hello!");
function triggerClick() {
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
document.querySelector(".icon.btn-icon.icon-send").dispatchEvent(event)
}
triggerClick()
Run Code Online (Sandbox Code Playgroud)
正如Khalid Lafi所说,这是正确的剧本.他的代码在执行时会返回错误
dispatch(document.querySelector("#compose-input div"), "textInput", "hello!");
Run Code Online (Sandbox Code Playgroud)
这是因为你应该使用"input.div"而不是"#compose-input div".以下脚本对我有用.
function dispatch(target, eventType, char) {
var evt = document.createEvent("TextEvent");
evt.initTextEvent (eventType, true, true, window, char, 0, "en-US");
target.focus();
target.dispatchEvent(evt);
}
dispatch(document.querySelector("div.input"), "textInput", "hello!");
function triggerClick() {
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
document.querySelector(".icon.btn-icon.icon-send").dispatchEvent(event);
}
triggerClick();
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.