java – 鼠标悬停不在safari,selenium web驱动程序中工作
作者:互联网
我用动作将鼠标悬停在FF和chrome中,它运行正常.但是同样的代码在safari中不起作用.我正在使用mac OS和selenium webdriver和java.
我试过下面的代码.
new Actions(driver).moveToElement(element).build().perform();
JS:
String mouseOverScript = "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('mouseover', true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject) { arguments[0].fireEvent('onmouseover');}";
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(mouseOverScript, element);
这是一个节目塞子问题.任何帮助表示赞赏.
解决方法:
执行鼠标悬停需要使用WebDriver的高级用户交互API.在Java语言绑定中,这是由Actions类完成的.不幸的是,目前,SafariDriver does not implement the Advanced User Interactions API,所以你无法直接实现这一点.在实现之前,您可以使用JavaScript模拟它来触发鼠标悬停时触发的事件.
标签:java,selenium-webdriver,safari,macos,mousehover 来源: https://codeday.me/bug/20190628/1319740.html