编程语言
首页 > 编程语言> > java – 鼠标悬停不在safari,selenium web驱动程序中工作

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