Как открыть диалог в WhatsApp Web при помощи JavaScript?
Нашел на иностранном сайте, как симулировать клики на React. Ниже пример, который подходит и для WhatsApp:
const mouseClickEvents = ['mousedown', 'click', 'mouseup'];

function simulateMouseClick(element){
  mouseClickEvents.forEach(mouseEventType =>
    element.dispatchEvent(
      new MouseEvent(mouseEventType, {
          view: window,
          bubbles: true,
          cancelable: true,
          buttons: 1
      })
    )
  );
}

// Ищем диалог по номеру телефона:
var element = document.querySelector('span[title="+7 905 837-96-43"]');
simulateMouseClick(element); // Симулируем событие клика
Данный способ оказался рабочим, можно использовать. В целом оказалось достаточно одного события mousedown:
// Ищем диалог с по номеру телефона:
dialog = document.querySelector('span[title="+7 905 837-96-43"]');

// Вызываем событие mousedown на найденном элементе:
dialog.dispatchEvent(
  new MouseEvent('mousedown', {
      bubbles: true
  })
);
При этом bubbles является параметром обязательным, без него не работает.
Нашел на иностранном сайте, как симулировать клики на React. Ниже пример, который подходит и для WhatsApp:
const mouseClickEvents = ['mousedown', 'click', 'mouseup'];

function simulateMouseClick(element){
  mouseClickEvents.forEach(mouseEventType =>
    element.dispatchEvent(
      new MouseEvent(mouseEventType, {
          view: window,
          bubbles: true,
          cancelable: true,
          buttons: 1
      })
    )
  );
}

// Ищем диалог по номеру телефона:
var element = document.querySelector('span[title="+7 905 837-96-43"]');
simulateMouseClick(element); // Симулируем событие клика
Данный способ оказался рабочим, можно использовать. В целом оказалось достаточно одного события mousedown:
// Ищем диалог с по номеру телефона:
dialog = document.querySelector('span[title="+7 905 837-96-43"]');

// Вызываем событие mousedown на найденном элементе:
dialog.dispatchEvent(
  new MouseEvent('mousedown', {
      bubbles: true
  })
);
При этом bubbles является параметром обязательным, без него не работает.