Selenium, java, js «Исключение в потоке» main «org.openqa.selenium.JavascriptException: отсутствует) после списка аргументов»

Когда я помещаю любой из следующих кодов в консоль инструментов разработчика 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);"); 

Всего 1 ответ


В обеих попытках во второй строке evt.initMouseEvent отсутствует запятая между 290 и false. - Теему 28 минут назад

Также есть дополнительный "};" после "100);"


Есть идеи?

10000