Я работаю над проектом, в котором мне нужно протестировать мышь и переместить ее вверх. Реальный сценарий - при щелчке мышью вниз, это начальная точка линии, а при перемещении с нажатой мышью вниз вторая точка линии будет перемещаться с помощью курсора мыши. Затем, когда мышь вверх, это конечная точка линии.
Я должен смоделировать это с селеном. Я использую следующий код:
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent('mousedown', // name
true, // bubbles
true, // cancelable
window, // view
1, // detail
point.x, // screenX
point.y, // screenY
point.x,
point.y,
false, // ctrlKey
false, // altKey
false, // shiftKey
false, // metaKey
0, // button
null); // relatedTarget
evt._simul = true;
el.dispatchEvent(evt);
var toPoint = TestUtils.getScreenPixelFromVector3(new Three.Vector3(8918.282712, 100, 100));
el = document.elementFromPoint(toPoint.x, toPoint.y);
// evt.initEvent('mousemove', true, true);
evt.initMouseEvent('mousemove', // name
true, // bubbles
true, // cancelable
window, // view
1, // detail
toPoint.x, // screenX
toPoint.y, // screenY
toPoint.x,
toPoint.y,
false, // ctrlKey
false, // altKey
false, // shiftKey
false, // metaKey
0, // button
null); // relatedTarget
evt._simul = true;
el.dispatchEvent(evt);
evt.initMouseEvent('mouseup',
true,
true,
window,
1,
toPoint.x,
toPoint.y,
toPoint.x,
toPoint.y,
false,
false,
false,
false,
0,
null);
evt._simul = true;
el.dispatchEvent(evt);
Но после перемещения мыши, подъем мыши не происходит должным образом. Все еще движение мыши включено. Любое предложение, как я могу справиться с этим?