[当我将以下任一代码放入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);");
在两次尝试中,第二个evt.initMouseEvent行都缺少290和false之间的逗号。 – 28分钟前的Teemu
还有一个额外的“};”在“ 100)之后;”。