如何在Javascript中插入文本



我有javascript可以打开这个窗口,但我需要在打开这个聊天后在那里插入文本并发送。如果你能帮助我改进代码,我也将不胜感激。

setInterval(function acceptor() {
var btn = document.getElementsByClassName('button green');
for (var i = 0; i < btn.length; i++) {
if (btn[i].innerText.indexOf('Accept') > -1) {
btn[i].click();
console.log('Accepted in to IMs');
}
}
}, 1000);
console.log('Acceptor started');
setInterval(function getnick() {
var cnt = document.getElementsByClassName('notificationsSlider');
for (var j = 0; j < cnt.length; j++) {
if (cnt[j].innerText.indexOf('is now your contact') > -1) {
var nickname = cnt[j].innerText;
var onlynickname = nickname.split(' is now your contact').shift();
console.log(onlynickname);
var contactlist = document.getElementsByClassName('userName');
for (var k = 0; k < contactlist.length; k++) {
if (contactlist[k].innerText.indexOf(onlynickname) > -1) {
contactlist[k].click();
console.log('Opened chat');
}
}
}
}
}, 3500);
console.log('Openner started');

编辑:

我刚刚发现,我想这不会那么容易。第一点:我试图让JS接受联系人请求,打开聊天窗口,并向接受的联系人发布/发送自动消息。

今天我发现;文本框"-我需要插入自定义自动消息文本的地方正在动态变化。

到目前为止,当我的代码打开与联系人的聊天时,它看起来是这样的。<br data-text="true">

在我自己插入一些文本后,它变为:<span data-text="true">I inserted text here</span>

有人能帮我写js吗?在拒绝聊天后,也会在那里插入我的自定义消息?

问题询问如何将文本插入到特定的span元素中。在元素中插入文本可以通过例如el.innerHTML="文本";

要做到这一点,您首先必须找到元素。查看所提供的屏幕截图,似乎所需的span元素是唯一一个具有数据文本="的元素;真";。因此,我们需要找到这一点。

您会征求改进代码的建议。如果这一点是您的代码,并且您能够向HTML中添加内容,我建议您考虑提供唯一的元素,以及您希望使用唯一标识符的元素。例如:

<span id="datatext"></span>

JavaScript可以很简单地找到它:

el=document.getElementById('datatext');

如果你不能做到这一点,那么我能想到的唯一方法就是查看文档中的所有span元素,并找到那些具有data-text="的元素;真";

下面是一个在具有几个跨度的文档上执行此操作的示例,其中只有一个具有该属性。(感谢@Adriani6提供querySelectorAll信息(

<span data-text='false']></span>
<span data-text='true']></span>
<span data-somethingelse='true']></span>
<span data-number='3']></span>
<script>
var spans = document.querySelectorAll("[data-text='true']");
if (spans.length==1) {
console.log('Success I have found the span element required.');
spans[0].innerHTML='The text you want to put in';
}
else {
console.log('Help, there are '+ spans.length + ' span elements with data-text="true" so I do not know where to put the text');
}
</script>

这真的不可能对你的Javascript代码有很大帮助,因为没有足够的信息来确切地知道它试图做什么。我注意到的一件事是,你正在模拟绿色按钮的点击(而不是等待用户点击(,我想知道这是否是你想要的-这是否是为什么你需要暂停几秒钟才能这样做的原因?[OP已澄清]。

最新更新