Обычно я не задаю такой специфический вопрос в SO, но я борюсь с этой проблемой в течение нескольких дней, поэтому я ищу здесь некоторую помощь.
Я создаю приложение для автоматизации задачи в веб-версии Whatsapp (https://web.whatsapp.com/).. Моя цель - щелкнуть по кнопке в интерфейсе, чтобы отобразить некоторые параметры, а затем снова щелкнуть по этой же кнопке, чтобы скрыть это.
Чтобы смоделировать, что я хочу сделать вручную:
1 - Откройте WhatsApp Web.
2 - Нажмите кнопку «Присоединить» в правом верхнем углу интерфейса, как показано на рисунке ниже.
3 - опции прикрепления будут показаны, как показано на рисунке ниже:
4 - Нажмите кнопку «Присоединить» еще раз, и параметры подключения будут скрыты.
Вот и все, но я хочу сделать это программно, используя Javascript (чистый JS, без JQuery).
Чтобы выполнить задачу на шаге 2, я успешно использую приведенный ниже код:
var nodes = document.getElementsByTagName('span');
if (typeof lastElementId == 'undefined')
var lastElementId = 0;
var result = undefined;
for (var i = 0; i < nodes.length; i++) {
var h = nodes[i].outerHTML;
var flag = false;
flag = (h.toLowerCase().indexOf('data-icon="clip') > -1);
if (flag) {
result = h;
lastElementId = i;
break;
}
}
if (result !== undefined) {
function triggerMouseEvent(node, eventType) {
var clickEvent = document.createEvent('MouseEvents');
clickEvent.initEvent(eventType, true, true);
node.dispatchEvent(clickEvent);
}
triggerMouseEvent(nodes[i], "mouseover");
triggerMouseEvent(nodes[i], "mousedown");
} else {
console.log('Not found');
}
;
Приведенный выше код будет работать для выполнения шага 2, но не будет работать для шага 4. Вручную, когда я нажимаю кнопку «Присоединить» после отображения параметров, параметры будут скрыты. Но не использую мой код JS.
Что мне здесь не хватает?
Заранее спасибо!