单击whatsapp web(javascript)中联系人列表中的联系人之一

Posted

技术标签:

【中文标题】单击whatsapp web(javascript)中联系人列表中的联系人之一【英文标题】:Click one of contact in contact list in whatsapp web (javascript) 【发布时间】:2017-12-12 19:21:07 【问题描述】:

我尝试使用 javascript 执行单击操作以单击联系人表单联系人列表,以便在 Whatsapp Web 中打开聊天。

我使用正常的点击动作来点击但不工作,比如

var div = document.querySelector('.infinite-list-item')[0];
div.click();

而且我知道whatsapp web 是由react js 制作的,ant 专门用来执行点击?

我什至使用了 jQuery click() 函数但仍然无法正常工作,我应该使用什么?

【问题讨论】:

querySelector() 返回第一个匹配元素...没有querySelector()[0]。除此之外,这个问题太宽泛了。请花点时间阅读How to Ask 和minimal reproducible example 运气好了吗?尝试使用 jQuery 并单击元素及其所有父元素 - 也没有运气。我不确定这是因为开发人员使用了 reactJS 还是因为他们保护了它。 您是否找到了一种解决方案来模拟从浏览器 JS 控制台单击 WhatsApp Web 中的联系人? 【参考方案1】:

您正在使用document.querySelector(),然后尝试像访问数据结构一样访问它。

document.querySelector() 将只返回一个 DOM 元素。如果您想将所有联系人放在一个结构中,您应该尝试使用document.querySelectorAll()[0]

解决方案:

    var itemList = document.querySelectorAll('.infinite-list-item');
    itemList[0].click();

此外,这也可以作为替代解决方案(尽管完全不推荐使用 querySelector 而不是 querySelectorAll 来定位多次使用的类名):

    var div = document.querySelector('.infinite-list-item');
    div.click();

【讨论】:

感谢您的回答。我尝试了您所有的解决方案,但仍然无法正常工作。我在控制台中尝试了它们,只是返回未定义。聊天未打开。 使用 mousedown 事件。使用鼠标按下打开聊天。函数模拟鼠标事件(元素,事件名称) var mouseEvent = document.createEvent('MouseEvents'); mouseEvent.initEvent (eventName, true, true); element.dispatchEvent (mouseEvent); simulationMouseEvents('要点击的元素', "mousedown")【参考方案2】:
         document.queryselectorAll("div span").forEach((/*YourElement*/, index) =>
             setTimeout(()=>
                  
                  /*here should go a validation so that it only runs on the 
                  contacts you want, but i don't write it because that's not the 
                   main idea*/

                 //¡¡¡¡the important part is this!!!!!

                 function simulateMouseEvents (elemento, eventName) 
                     var mouseEvent = document.createEvent ('MouseEvents');
                     mouseEvent.initEvent (eventName, true, true);
                     /*YourElement*/.dispatchEvent (mouseEvent);
                 
                 simulateMouseEvents ('enlace', "mousedown");

             ,index*20)
         

/这段代码 sn-p 解决了我在个人项目中的问题...我附上项目的图片(未完成,因此可能有错误)以帮助您更好地理解/

Image of the proyect

【讨论】:

以上是关于单击whatsapp web(javascript)中联系人列表中的联系人之一的主要内容,如果未能解决你的问题,请参考以下文章

如何在聊天中回复特定消息,就像使用 html css javascript/jquery 的 skype/whatsapp

javascript WhatsApp在线状态

javascript 添加'分享whatsapp'

怎样将微信的内容转发到whatsapp上

javascript Comofazeralguémteresponder no whatsapp

javascript Comofazeralguémteresponder no whatsapp