Не удается щелкнуть веб-элемент с помощью JS - PullRequest
0 голосов
/ 30 мая 2018

У меня проблема с поиском рабочего кода для имитации нажатия на веб-элемент (кнопку) на мобильном сайте outlook.com с использованием JS.Я перепробовал все решения, найденные в Интернете, но этот элемент все еще не активен.При нажатии этой кнопки пальцем (мобильным телефоном) или мышью через Chrome devTools это работает.

Кроме того, я обнаружил, что при использовании Selenium / Appium на моем мобильном телефоне щелчок работает.

Я попытался найти фрагмент кода на GitHub Селена, который выполняет щелчок, но не смог его найти.Может кто-нибудь помочь мне заставить этот клик сработать?

Некоторые детали:

веб-сайт: http://outlook.live.com/owa

имя пользователя: testclick@outlook.co.il

пароль: natasha2018

кнопка - кнопка плюса в левом углу https://ibb.co/h6eVFy

проверенный код:

1) elem.click();

2)

function eventFire(el, etype){
  if (el.fireEvent) {
    el.fireEvent('on' + etype);
  } else {
    var evObj = document.createEvent('Events');
    evObj.initEvent(etype, true, false);
    el.dispatchEvent(evObj);
  }
}

3) $("#elem").click();

4)

var simulateClick = function (elem) {
    // Create our event (with options)
    var evt = new MouseEvent('click', {
        bubbles: true,
        cancelable: true,
        view: window
    });
    // If cancelled, don't dispatch our event
    var canceled = !elem.dispatchEvent(evt);
};

Спасибо.

1 Ответ

0 голосов
/ 30 мая 2018

Используя обычный javascript, вы можете добиться этого, используя:

document.getElementsByClassName("ms-Button ms-Button--action")[0].click();

Но, если вы пытаетесь сделать это с помощью каких-либо расширений, вам могут потребоваться соответствующие разрешения, прежде чем писать этот код.

...