Как смоделировать событие мышиного входа в Selenium или Javascript? - PullRequest
0 голосов
/ 14 сентября 2018

Я работал над задачей автоматизации веб-интерфейса с Selenium, Javascript и SeLion. Я хотел бы сделать снимок экрана некоторого эквивалентного сценария в качестве домашней страницы Google ниже: enter image description here

В котором должен присутствовать «Голосовой поиск», когда мышь перемещается в значке этого микрофона (ни щелчок, ни наведение). У меня есть поиск решений, к сожалению, ни одно из них не работает должным образом.

Я в основном имею дело с чем-то вроде этого:

<div id="div_id">
  <button type="button" class="button_class" disabled="" data-marko=" . 
    {"onclick":"handleClick s0-2-0-27-0 
    false&quot;,"onkeydown":"handleKeydown s0-2-0-27-0 false"}" 
    title="This message shows by mouseenter event" aria-label="This 
    message shows by mouseenter event">
      <span class="span_class"></span>
  </button>
</div>

Когда мышь входит в эту кнопку, будет присутствовать «This message shows by mouseenter event». Страница, вероятно, написана Marko-js . Я не мог справиться с этим простым Javascript, я пытался.

Есть идеи?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Я предоставил вам простой рабочий пример, дайте мне обратную связь, если он подходит для ваших нужд.

function simulateMouseEnter() {
  var event = new MouseEvent('mouseenter', {
    'view': window,
    'bubbles': true,
    'cancelable': true
  });
  var myTarget = document.getElementById('target_div'); 
  var canceled = !myTarget.dispatchEvent(event);
  if (canceled) {
    // A handler called preventDefault.
    alert("canceled");
  } else {
    // None of the handlers called preventDefault.
    alert("not canceled");
  }
}

function mouseEnterBehaviour() {
    myElement = document.getElementById("target_div");
     // attach mouseenter event listener to element
    myElement.addEventListener("mouseenter", function(event) {
        // change the color of the font
        event.target.style.color = "red";
    });  
    // call the simulation
    setTimeout(simulateMouseEnter,3000);
}

mouseEnterBehaviour();
<div id="target_div">target div</div>

Примечание: это должно работать с большинством событий браузера

0 голосов
/ 14 сентября 2018

В котором должен присутствовать «Голосовой поиск», когда мышь перемещается в значке микрофона (ни щелчок, ни наведение)

, если вы прочитали эту ссылку: https://www.w3.org/TR/DOM-Level-3-Events/#trusted-events это говорит о том, что только события пользовательского агента могут инициировать «голосовой поиск».его нельзя сделать скриптами

...