Java WebDriver中是否有IE8和Firefox的鼠标悬停解决方案?
WebDriver的Java WebDriver中是否有IE8和Firefox的鼠标悬停解决方案?,java,selenium,webdriver,selenium-webdriver,Java,Selenium,Webdriver,Selenium Webdriver,WebDriver的moveToElement在Firefox和IE中不起作用。它在Chrome浏览器中运行良好 以下是我正在使用的代码: Actions builder = new Actions(driver); builder.moveToElement(driver.findElement(By.xpath(Loader.OR.getProperty(object)))) .moveToElement(driver.f
moveToElement
在Firefox和IE中不起作用。它在Chrome浏览器中运行良好
以下是我正在使用的代码:
Actions builder = new Actions(driver);
builder.moveToElement(driver.findElement(By.xpath(Loader.OR.getProperty(object))))
.moveToElement(driver.findElement(By.xpath(data)))
.click();
Action selectMultiple = builder.build();
selectMultiple.perform();
同样,可以与Chrome一起使用,但不能与IE或Firefox一起使用。您可以使用JavaScript,但不幸的是,IE和Firefox/Chrome的脚本不同:
if (_browserName == BrowserName.InternetExplorer)
{
script = "var evt = document.createEventObject();" +
"arguments[0].fireEvent('onmouseover', evt);";
}
else
{
script = "var evt = document.createEvent('MouseEvents');" +
"evt.initMouseEvent('mouseover',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);" +
"arguments[0].dispatchEvent(evt);";
}
((IJavaScriptExecutor)QuestWebDriver.CurrentDriver).ExecuteScript(script, element);
对于IE,这些selenium native方法对我来说很好:
Actions action = new Actions(driver);
action.MoveToElement(element).Perform();