Когда я помещаю любой из следующих кодов в консоль инструментов разработчика chrome, они работают нормально. Однако, когда я помещаю их в Selenium, я получаю сообщение об ошибке «отсутствует» после списка аргументов ». Я знаю, что это, вероятно, означает, что проблема, вероятно, из-за неправильного синтаксиса, но я не уверен, как или почему это так. Обратите внимание, что эти попытки были сделаны отдельно .
//Attempt 1
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript( "var evt = document.createEvent('MouseEvent');" +
"evt.initMouseEvent('mousedown', true, true, window, 0, 0, 0, 382, 290 , false, false, false, false, 0, null);" +
"var cb = document.getElementById('gameCanvas');"+
"cb.dispatchEvent(evt);"+
"setTimeout(function(){"+
"evt.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 382, 290 false, false, false, false, 0, null);"+
"cb.dispatchEvent(evt);}, 100); };");
//Attempt 2
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript( "var evt = document.createEvent('MouseEvent');" +
"evt.initMouseEvent('mousedown', true, true, window, 0, 0, 0, 382, 290 , false, false, false, false, 0, null);" +
"var cb = document.getElementById('gameCanvas');"+
"cb.dispatchEvent(evt);"+
"evt.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 382, 290 false, false, false, false, 0, null);"+
"cb.dispatchEvent(evt);");